From d781b3d4a70055189838a63d0ca3480d9689e32b Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 18 Feb 2020 13:24:34 +0100 Subject: [PATCH] FlatLaf.getDefaults() simplified --- .../java/com/formdev/flatlaf/FlatLaf.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index 8fcd3564..2e823615 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -218,22 +218,21 @@ public abstract class FlatLaf // add Metal resource bundle, which is required for FlatFileChooserUI defaults.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" ); - // initialize some defaults (for overriding) that are used in basic UI delegates, - // but are not set in MetalLookAndFeel or BasicLookAndFeel - Color control = defaults.getColor( "control" ); - defaults.put( "EditorPane.disabledBackground", control ); - defaults.put( "EditorPane.inactiveBackground", control ); - defaults.put( "FormattedTextField.disabledBackground", control ); - defaults.put( "PasswordField.disabledBackground", control ); - defaults.put( "TextArea.disabledBackground", control ); - defaults.put( "TextArea.inactiveBackground", control ); - defaults.put( "TextField.disabledBackground", control ); - defaults.put( "TextPane.disabledBackground", control ); - defaults.put( "TextPane.inactiveBackground", control ); - - // initialize some own defaults (for overriding) - defaults.put( "Spinner.disabledBackground", control ); - defaults.put( "Spinner.disabledForeground", control ); + // initialize some defaults (for overriding) that are used in UI delegates, + // but are not set in BasicLookAndFeel + putDefaults( defaults, defaults.getColor( "control" ), + "EditorPane.disabledBackground", + "EditorPane.inactiveBackground", + "FormattedTextField.disabledBackground", + "PasswordField.disabledBackground", + "Spinner.disabledBackground", + "TextArea.disabledBackground", + "TextArea.inactiveBackground", + "TextField.disabledBackground", + "TextPane.disabledBackground", + "TextPane.inactiveBackground" ); + putDefaults( defaults, defaults.getColor( "textInactiveText" ), + "Spinner.disabledForeground" ); // remember MenuBarUI from Mac Aqua LaF if Mac screen menubar is enabled 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 ) ); } + private void putDefaults( UIDefaults defaults, Object value, String... keys ) { + for( String key : keys ) + defaults.put( key, value ); + } + private static void reSetLookAndFeel() { EventQueue.invokeLater( () -> { LookAndFeel lookAndFeel = UIManager.getLookAndFeel();