mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 14:30:56 +03:00
TextField implemented
This commit is contained in:
@@ -18,17 +18,20 @@ package com.formdev.flatlaf;
|
|||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
|
import java.awt.Insets;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import javax.swing.UIDefaults;
|
import javax.swing.UIDefaults;
|
||||||
import javax.swing.UIDefaults.LazyValue;
|
import javax.swing.UIDefaults.LazyValue;
|
||||||
import javax.swing.plaf.ColorUIResource;
|
import javax.swing.plaf.ColorUIResource;
|
||||||
import javax.swing.plaf.FontUIResource;
|
import javax.swing.plaf.FontUIResource;
|
||||||
|
import javax.swing.plaf.InsetsUIResource;
|
||||||
import javax.swing.plaf.basic.BasicLookAndFeel;
|
import javax.swing.plaf.basic.BasicLookAndFeel;
|
||||||
import javax.swing.plaf.metal.MetalLookAndFeel;
|
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||||
import com.formdev.flatlaf.util.SystemInfo;
|
import com.formdev.flatlaf.util.SystemInfo;
|
||||||
@@ -211,6 +214,10 @@ public abstract class FlatLaf
|
|||||||
if( key.endsWith( ".icon" ) )
|
if( key.endsWith( ".icon" ) )
|
||||||
return parseInstance( value );
|
return parseInstance( value );
|
||||||
|
|
||||||
|
// insets
|
||||||
|
if( key.endsWith( ".margin" ) )
|
||||||
|
return parseInsets( value );
|
||||||
|
|
||||||
// colors
|
// colors
|
||||||
ColorUIResource color = parseColor( value );
|
ColorUIResource color = parseColor( value );
|
||||||
if( color != null )
|
if( color != null )
|
||||||
@@ -240,6 +247,20 @@ public abstract class FlatLaf
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Insets parseInsets( String value ) {
|
||||||
|
List<String> numbers = split( value, ',' );
|
||||||
|
try {
|
||||||
|
return new InsetsUIResource(
|
||||||
|
Integer.parseInt( numbers.get( 0 ) ),
|
||||||
|
Integer.parseInt( numbers.get( 1 ) ),
|
||||||
|
Integer.parseInt( numbers.get( 2 ) ),
|
||||||
|
Integer.parseInt( numbers.get( 3 ) ) );
|
||||||
|
} catch( NumberFormatException ex ) {
|
||||||
|
System.err.println( "invalid insets '" + value + "'" );
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private ColorUIResource parseColor( String value ) {
|
private ColorUIResource parseColor( String value ) {
|
||||||
try {
|
try {
|
||||||
if( value.length() == 6 ) {
|
if( value.length() == 6 ) {
|
||||||
@@ -267,4 +288,18 @@ public abstract class FlatLaf
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List<String> split( String str, char delim ) {
|
||||||
|
ArrayList<String> strs = new ArrayList<>();
|
||||||
|
int delimIndex = str.indexOf( delim );
|
||||||
|
int index = 0;
|
||||||
|
while( delimIndex >= 0 ) {
|
||||||
|
strs.add( str.substring( index, delimIndex ) );
|
||||||
|
index = delimIndex + 1;
|
||||||
|
delimIndex = str.indexOf( delim, index );
|
||||||
|
}
|
||||||
|
strs.add( str.substring( index ) );
|
||||||
|
|
||||||
|
return strs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
|
import static com.formdev.flatlaf.util.UIScale.*;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.Insets;
|
||||||
|
import java.awt.Paint;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
import javax.swing.plaf.basic.BasicBorders;
|
||||||
|
import javax.swing.text.JTextComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Border for various components (e.g. {@link javax.swing.JTextField}).
|
||||||
|
*
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatBorder
|
||||||
|
extends BasicBorders.MarginBorder
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
FlatUIUtils.setRenderingHints( g2 );
|
||||||
|
|
||||||
|
float focusWidth = getFocusWidth();
|
||||||
|
float lineWidth = getLineWidth();
|
||||||
|
|
||||||
|
if( c.hasFocus() ) {
|
||||||
|
g2.setColor( UIManager.getColor( "Component.focusColor" ) );
|
||||||
|
FlatUIUtils.paintOutlineBorder( g2, x, y, width, height, focusWidth, lineWidth, 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
g2.setPaint( getBorderColor( c ) );
|
||||||
|
FlatUIUtils.drawRoundRectangle( g2, x, y, width, height, focusWidth, lineWidth, 0 );
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Paint getBorderColor( Component c ) {
|
||||||
|
boolean editable = !(c instanceof JTextComponent) || ((JTextComponent)c).isEditable();
|
||||||
|
return UIManager.getColor( c.isEnabled() && editable
|
||||||
|
? (c.hasFocus()
|
||||||
|
? "Component.focusedBorderColor"
|
||||||
|
: "Component.borderColor")
|
||||||
|
: "Component.disabledBorderColor" );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Insets getBorderInsets( Component c, Insets insets ) {
|
||||||
|
float ow = getFocusWidth() + getLineWidth();
|
||||||
|
|
||||||
|
insets = super.getBorderInsets( c, insets );
|
||||||
|
insets.top = round( scale( (float) insets.top ) + ow );
|
||||||
|
insets.left = round( scale( (float) insets.left ) + ow );
|
||||||
|
insets.bottom = round( scale( (float) insets.bottom ) + ow );
|
||||||
|
insets.right = round( scale( (float) insets.right ) + ow );
|
||||||
|
return insets;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected float getFocusWidth() {
|
||||||
|
return FlatUIUtils.getFocusWidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected float getLineWidth() {
|
||||||
|
return FlatUIUtils.getLineWidth();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.event.FocusEvent;
|
||||||
|
import java.awt.event.FocusListener;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
import javax.swing.plaf.ComponentUI;
|
||||||
|
import javax.swing.plaf.basic.BasicTextFieldUI;
|
||||||
|
import javax.swing.text.JTextComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}.
|
||||||
|
*
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatTextFieldUI
|
||||||
|
extends BasicTextFieldUI
|
||||||
|
{
|
||||||
|
private final Handler handler = new Handler();
|
||||||
|
|
||||||
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
|
return new FlatTextFieldUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void installListeners() {
|
||||||
|
super.installListeners();
|
||||||
|
|
||||||
|
getComponent().addFocusListener( handler );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void uninstallListeners() {
|
||||||
|
super.uninstallListeners();
|
||||||
|
|
||||||
|
getComponent().removeFocusListener( handler );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintBackground( Graphics g ) {
|
||||||
|
JTextComponent c = getComponent();
|
||||||
|
|
||||||
|
FlatUIUtils.paintParentBackground( g, c );
|
||||||
|
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
FlatUIUtils.setRenderingHints( g2 );
|
||||||
|
|
||||||
|
float focusWidth = FlatUIUtils.getFocusWidth();
|
||||||
|
|
||||||
|
g2.setColor( getBackground( c ) );
|
||||||
|
FlatUIUtils.fillRoundRectangle( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, 0 );
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Color getBackground( JTextComponent c ) {
|
||||||
|
return c.isEditable() && c.isEnabled()
|
||||||
|
? c.getBackground()
|
||||||
|
: UIManager.getColor( "TextField.disabledBackground" );
|
||||||
|
}
|
||||||
|
|
||||||
|
//---- class Handler ------------------------------------------------------
|
||||||
|
|
||||||
|
private class Handler
|
||||||
|
implements FocusListener
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void focusGained( FocusEvent e ) {
|
||||||
|
getComponent().repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void focusLost( FocusEvent e ) {
|
||||||
|
getComponent().repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -70,7 +70,7 @@ CheckBox.icon.selectedBorderColor=6B6B6B
|
|||||||
CheckBox.icon.focusedBorderColor=466D94
|
CheckBox.icon.focusedBorderColor=466D94
|
||||||
CheckBox.icon.selectedFocusedBorderColor=466D94
|
CheckBox.icon.selectedFocusedBorderColor=466D94
|
||||||
CheckBox.icon.background=43494A
|
CheckBox.icon.background=43494A
|
||||||
CheckBox.icon.disabledBackground=3C3F41
|
CheckBox.icon.disabledBackground=@background
|
||||||
CheckBox.icon.selectedBackground=43494A
|
CheckBox.icon.selectedBackground=43494A
|
||||||
CheckBox.icon.checkmarkColor=A7A7A7
|
CheckBox.icon.checkmarkColor=A7A7A7
|
||||||
CheckBox.icon.disabledCheckmarkColor=606060
|
CheckBox.icon.disabledCheckmarkColor=606060
|
||||||
@@ -78,9 +78,18 @@ CheckBox.icon.disabledCheckmarkColor=606060
|
|||||||
|
|
||||||
#---- Component ----
|
#---- Component ----
|
||||||
|
|
||||||
|
Component.borderColor=646464
|
||||||
|
Component.disabledBorderColor=646464
|
||||||
|
Component.focusedBorderColor=466d94
|
||||||
Component.focusColor=3d6185
|
Component.focusColor=3d6185
|
||||||
|
|
||||||
|
|
||||||
#---- Label ----
|
#---- Label ----
|
||||||
|
|
||||||
Label.disabledForeground=@disabledText
|
Label.disabledForeground=@disabledText
|
||||||
|
|
||||||
|
|
||||||
|
#---- TextField ----
|
||||||
|
|
||||||
|
TextField.background=45494A
|
||||||
|
TextField.disabledBackground=@background
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ ButtonUI=com.formdev.flatlaf.ui.FlatButtonUI
|
|||||||
CheckBoxUI=com.formdev.flatlaf.ui.FlatCheckBoxUI
|
CheckBoxUI=com.formdev.flatlaf.ui.FlatCheckBoxUI
|
||||||
LabelUI=com.formdev.flatlaf.ui.FlatLabelUI
|
LabelUI=com.formdev.flatlaf.ui.FlatLabelUI
|
||||||
RadioButtonUI=com.formdev.flatlaf.ui.FlatRadioButtonUI
|
RadioButtonUI=com.formdev.flatlaf.ui.FlatRadioButtonUI
|
||||||
|
TextFieldUI=com.formdev.flatlaf.ui.FlatTextFieldUI
|
||||||
|
|
||||||
|
|
||||||
#---- Button ----
|
#---- Button ----
|
||||||
@@ -44,3 +45,9 @@ Component.arc=5
|
|||||||
|
|
||||||
RadioButton.border=com.formdev.flatlaf.ui.FlatMarginBorder
|
RadioButton.border=com.formdev.flatlaf.ui.FlatMarginBorder
|
||||||
RadioButton.icon=com.formdev.flatlaf.ui.FlatRadioButtonIcon
|
RadioButton.icon=com.formdev.flatlaf.ui.FlatRadioButtonIcon
|
||||||
|
|
||||||
|
|
||||||
|
#---- TextField ----
|
||||||
|
|
||||||
|
TextField.border=com.formdev.flatlaf.ui.FlatBorder
|
||||||
|
TextField.margin=2,6,2,6
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ CheckBox.icon.selectedBorderColor=4982CC
|
|||||||
CheckBox.icon.focusedBorderColor=7B9FC7
|
CheckBox.icon.focusedBorderColor=7B9FC7
|
||||||
CheckBox.icon.selectedFocusedBorderColor=ACCFF7
|
CheckBox.icon.selectedFocusedBorderColor=ACCFF7
|
||||||
CheckBox.icon.background=FFFFFF
|
CheckBox.icon.background=FFFFFF
|
||||||
CheckBox.icon.disabledBackground=F2F2F2
|
CheckBox.icon.disabledBackground=@background
|
||||||
CheckBox.icon.selectedBackground=4D89C9
|
CheckBox.icon.selectedBackground=4D89C9
|
||||||
CheckBox.icon.checkmarkColor=FFFFFF
|
CheckBox.icon.checkmarkColor=FFFFFF
|
||||||
CheckBox.icon.disabledCheckmarkColor=ABABAB
|
CheckBox.icon.disabledCheckmarkColor=ABABAB
|
||||||
@@ -78,9 +78,18 @@ CheckBox.icon.disabledCheckmarkColor=ABABAB
|
|||||||
|
|
||||||
#---- Component ----
|
#---- Component ----
|
||||||
|
|
||||||
|
Component.borderColor=c4c4c4
|
||||||
|
Component.disabledBorderColor=cfcfcf
|
||||||
|
Component.focusedBorderColor=87afda
|
||||||
Component.focusColor=97c3f3
|
Component.focusColor=97c3f3
|
||||||
|
|
||||||
|
|
||||||
#---- Label ----
|
#---- Label ----
|
||||||
|
|
||||||
Label.disabledForeground=@disabledText
|
Label.disabledForeground=@disabledText
|
||||||
|
|
||||||
|
|
||||||
|
#---- TextField ----
|
||||||
|
|
||||||
|
TextField.background=ffffff
|
||||||
|
TextField.disabledBackground=@background
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ public class FlatComponentsTest
|
|||||||
JRadioButton radioButton2 = new JRadioButton();
|
JRadioButton radioButton2 = new JRadioButton();
|
||||||
JRadioButton radioButton3 = new JRadioButton();
|
JRadioButton radioButton3 = new JRadioButton();
|
||||||
JRadioButton radioButton4 = new JRadioButton();
|
JRadioButton radioButton4 = new JRadioButton();
|
||||||
|
JLabel textFieldLabel = new JLabel();
|
||||||
|
JTextField textField1 = new JTextField();
|
||||||
|
JTextField textField2 = new JTextField();
|
||||||
|
JTextField textField3 = new JTextField();
|
||||||
|
JTextField textField4 = new JTextField();
|
||||||
|
|
||||||
//======== this ========
|
//======== this ========
|
||||||
setLayout(new MigLayout(
|
setLayout(new MigLayout(
|
||||||
@@ -177,6 +182,30 @@ public class FlatComponentsTest
|
|||||||
radioButton4.setSelected(true);
|
radioButton4.setSelected(true);
|
||||||
radioButton4.setEnabled(false);
|
radioButton4.setEnabled(false);
|
||||||
add(radioButton4, "cell 4 3");
|
add(radioButton4, "cell 4 3");
|
||||||
|
|
||||||
|
//---- textFieldLabel ----
|
||||||
|
textFieldLabel.setText("JTextField:");
|
||||||
|
add(textFieldLabel, "cell 0 4");
|
||||||
|
|
||||||
|
//---- textField1 ----
|
||||||
|
textField1.setText("editable");
|
||||||
|
add(textField1, "cell 1 4,growx");
|
||||||
|
|
||||||
|
//---- textField2 ----
|
||||||
|
textField2.setText("disabled");
|
||||||
|
textField2.setEnabled(false);
|
||||||
|
add(textField2, "cell 2 4,growx");
|
||||||
|
|
||||||
|
//---- textField3 ----
|
||||||
|
textField3.setText("not editable");
|
||||||
|
textField3.setEditable(false);
|
||||||
|
add(textField3, "cell 3 4,growx");
|
||||||
|
|
||||||
|
//---- textField4 ----
|
||||||
|
textField4.setText("not editable disabled");
|
||||||
|
textField4.setEnabled(false);
|
||||||
|
textField4.setEditable(false);
|
||||||
|
add(textField4, "cell 4 4,growx");
|
||||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,6 +144,40 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 4 3"
|
"value": "cell 4 3"
|
||||||
} )
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "textFieldLabel"
|
||||||
|
"text": "JTextField:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 4"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JTextField" ) {
|
||||||
|
name: "textField1"
|
||||||
|
"text": "editable"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4,growx"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JTextField" ) {
|
||||||
|
name: "textField2"
|
||||||
|
"text": "disabled"
|
||||||
|
"enabled": false
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 4,growx"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JTextField" ) {
|
||||||
|
name: "textField3"
|
||||||
|
"text": "not editable"
|
||||||
|
"editable": false
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 4,growx"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JTextField" ) {
|
||||||
|
name: "textField4"
|
||||||
|
"text": "not editable disabled"
|
||||||
|
"enabled": false
|
||||||
|
"editable": false
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 4 4,growx"
|
||||||
|
} )
|
||||||
}, new FormLayoutConstraints( null ) {
|
}, new FormLayoutConstraints( null ) {
|
||||||
"location": new java.awt.Point( 0, 0 )
|
"location": new java.awt.Point( 0, 0 )
|
||||||
"size": new java.awt.Dimension( 580, 300 )
|
"size": new java.awt.Dimension( 580, 300 )
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ CheckBox.icon.disabledCheckmarkColor=ABABAB
|
|||||||
|
|
||||||
#---- Component ----
|
#---- Component ----
|
||||||
|
|
||||||
|
Component.borderColor=ff0000
|
||||||
|
Component.disabledBorderColor=000088
|
||||||
|
Component.focusedBorderColor=466d94
|
||||||
Component.focusColor=97c3f3
|
Component.focusColor=97c3f3
|
||||||
#Component.focusWidth=5
|
#Component.focusWidth=5
|
||||||
#Component.arc=8
|
#Component.arc=8
|
||||||
@@ -64,3 +67,9 @@ Component.focusColor=97c3f3
|
|||||||
|
|
||||||
Label.foreground=008800
|
Label.foreground=008800
|
||||||
Label.disabledForeground=000088
|
Label.disabledForeground=000088
|
||||||
|
|
||||||
|
|
||||||
|
#---- TextField ----
|
||||||
|
|
||||||
|
TextField.background=ffffff
|
||||||
|
TextField.disabledBackground=f2f2f2
|
||||||
|
|||||||
Reference in New Issue
Block a user