FlatLaf.getDefaults() simplified

This commit is contained in:
Karl Tauber
2020-02-18 13:24:34 +01:00
parent 790f490674
commit d781b3d4a7

View File

@@ -218,22 +218,21 @@ public abstract class FlatLaf
// add Metal resource bundle, which is required for FlatFileChooserUI // add Metal resource bundle, which is required for FlatFileChooserUI
defaults.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" ); defaults.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" );
// initialize some defaults (for overriding) that are used in basic UI delegates, // initialize some defaults (for overriding) that are used in UI delegates,
// but are not set in MetalLookAndFeel or BasicLookAndFeel // but are not set in BasicLookAndFeel
Color control = defaults.getColor( "control" ); putDefaults( defaults, defaults.getColor( "control" ),
defaults.put( "EditorPane.disabledBackground", control ); "EditorPane.disabledBackground",
defaults.put( "EditorPane.inactiveBackground", control ); "EditorPane.inactiveBackground",
defaults.put( "FormattedTextField.disabledBackground", control ); "FormattedTextField.disabledBackground",
defaults.put( "PasswordField.disabledBackground", control ); "PasswordField.disabledBackground",
defaults.put( "TextArea.disabledBackground", control ); "Spinner.disabledBackground",
defaults.put( "TextArea.inactiveBackground", control ); "TextArea.disabledBackground",
defaults.put( "TextField.disabledBackground", control ); "TextArea.inactiveBackground",
defaults.put( "TextPane.disabledBackground", control ); "TextField.disabledBackground",
defaults.put( "TextPane.inactiveBackground", control ); "TextPane.disabledBackground",
"TextPane.inactiveBackground" );
// initialize some own defaults (for overriding) putDefaults( defaults, defaults.getColor( "textInactiveText" ),
defaults.put( "Spinner.disabledBackground", control ); "Spinner.disabledForeground" );
defaults.put( "Spinner.disabledForeground", control );
// remember MenuBarUI from Mac Aqua LaF if Mac screen menubar is enabled // remember MenuBarUI from Mac Aqua LaF if Mac screen menubar is enabled
boolean useScreenMenuBar = SystemInfo.IS_MAC && "true".equals( System.getProperty( "apple.laf.useScreenMenuBar" ) ); boolean useScreenMenuBar = SystemInfo.IS_MAC && "true".equals( System.getProperty( "apple.laf.useScreenMenuBar" ) );
@@ -398,6 +397,11 @@ public abstract class FlatLaf
defaults.put( key, new LazyModifyInputMap( defaults.remove( key ), bindings ) ); defaults.put( key, new LazyModifyInputMap( defaults.remove( key ), bindings ) );
} }
private void putDefaults( UIDefaults defaults, Object value, String... keys ) {
for( String key : keys )
defaults.put( key, value );
}
private static void reSetLookAndFeel() { private static void reSetLookAndFeel() {
EventQueue.invokeLater( () -> { EventQueue.invokeLater( () -> {
LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); LookAndFeel lookAndFeel = UIManager.getLookAndFeel();