Class Options


  • public final class Options
    extends java.lang.Object
    Provides access to optional features of the JGoodies L&Fs via a key to the system properties, via a key for the UIDefaults table, via a method, or all of them.

    API users can use this class' constants or their values to configure the JGoodies L&amP;f. Using the constants requires the Looks library classes in the class path of the using application/applet, where using the String values doesn't require having this class in the class path.

    Version:
    $Revision: 1.25 $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String COMBO_POPUP_PROTOTYPE_DISPLAY_VALUE_KEY
      A JComboBox client property key for the combo's popup menu prototype display value.
      static java.lang.String COMBO_RENDERER_IS_BORDER_REMOVABLE
      A client property key for combo box renderer components.
      private static java.awt.Dimension DEFAULT_ICON_SIZE  
      static java.lang.String DEFAULT_ICON_SIZE_KEY  
      static java.lang.String DEFAULT_LOOK_NAME
      The class name of the default JGoodies L&f, PlasticXP.
      static java.lang.String EMBEDDED_TABS_KEY
      A JTabbedPane client property key that indicates that tabs are painted with a special embedded appearance.
      static java.lang.String HEADER_STYLE_KEY
      A client property key for JMenuBar and JToolBar style hints.
      static java.lang.String HI_RES_DISABLED_ICON_CLIENT_KEY
      A client property key for components with a disabled icon such as buttons, labels, and tabbed panes.
      static java.lang.String HI_RES_GRAY_FILTER_ENABLED_KEY
      A UIDefaults key for enabling/disabling the new high-resolution gray filter globally.
      static java.lang.String INVERT_SELECTION_CLIENT_KEY
      A JTextField client property key that specifies the direction how text shall be selected on focus gain - if at all: from start to end vs.
      static java.lang.String IS_ETCHED_KEY
      A JScrollPane client property key for a hint that the scroll pane border should be etched.
      static java.lang.String JGOODIES_WINDOWS_NAME
      The class name of the JGoodies Windows L&f.
      private static java.util.Map<java.lang.String,​java.lang.String> LAF_REPLACEMENTS
      Holds a Map that enables the look&feel replacement mechanism to replace one look by another.
      static java.lang.String NO_CONTENT_BORDER_KEY
      A JTabbedPane client property key that indicates that no content border shall be painted.
      static java.lang.String NO_ICONS_KEY
      A JMenu client property key for a hint that the menu items in the menu have no icons.
      static java.lang.String NO_MARGIN_KEY
      A JPopupMenu client property key for a hint that the border shall have no extra margin.
      static java.lang.String NO_REPLACEMENT
      A replacement used to replace a given L&f with nothing, that indicates that it should not be used.
      static java.lang.String PLASTIC_CONTROL_FONT_KEY
      A key for setting the default control font in Plastic L&fs.
      static java.lang.String PLASTIC_FONT_POLICY_KEY
      A key for setting a custom FontPolicy for the Plastic L&fs.
      static java.lang.String PLASTIC_MENU_FONT_KEY
      A key for setting the default menu font in Plastic L&fs.
      static java.lang.String PLASTIC_MICRO_LAYOUT_POLICY_KEY
      A UIManager key for setting a custom MicroLayoutPolicy for the Plastic L&fs.
      static java.lang.String PLASTIC_NAME
      The class name of the JGoodies Plastic L&f.
      static java.lang.String PLASTIC3D_NAME
      The class name of the JGoodies Plastic3D L&f.
      static java.lang.String PLASTICXP_NAME
      The class name of the JGoodies PlasticXP L&f.
      static java.lang.String POPUP_DROP_SHADOW_ENABLED_KEY
      A UIDefaults key for the popup drop shadow enablement.
      private static java.lang.Boolean POPUP_DROP_SHADOW_ENABLED_SYSTEM_VALUE
      Holds the Boolean system property value for the popup drop shadow enablement, or null, if it has not been set.
      static java.lang.String SELECT_ON_FOCUS_GAIN_CLIENT_KEY
      A JTextField client property key that specifies whether all text shall be selected on focus gain.
      static java.lang.String SELECT_ON_FOCUS_GAIN_KEY
      A UIDefaults key for the global default whether text fields shall select all text on focus gain.
      static java.lang.String SET_CARET_TO_START_ON_FOCUS_LOST_CLIENT_KEY
      A JTextField client property key that specifies whether the caret shall be positioned at the start on focus lost.
      static java.lang.String TAB_ICONS_ENABLED_KEY  
      private static java.lang.Boolean TAB_ICONS_ENABLED_SYSTEM_VALUE
      Holds the Boolean system property value for the tab icon enablement, or null, if it has not been set.
      static java.lang.String TREE_LINE_STYLE_ANGLED_VALUE
      A JTree client property value that indicates that lines shall be drawn.
      static java.lang.String TREE_LINE_STYLE_KEY
      A JTree client property key for a tree line style hint.
      static java.lang.String TREE_LINE_STYLE_NONE_VALUE
      A JTree client property value that indicates that lines shall be hidden.
      static java.lang.String USE_NARROW_BUTTONS_KEY  
      private static java.lang.Boolean USE_NARROW_BUTTONS_SYSTEM_VALUE
      Holds the Boolean system property value for the use of narrow buttons or null, if it has not been set.
      static java.lang.String USE_SYSTEM_FONTS_APP_KEY
      A convenience constant for the standard Swing UIDefaults key that configures the use of system fonts.
      static java.lang.String USE_SYSTEM_FONTS_KEY
      A convenience constant for the standard Swing system property key that configures the use of system fonts.
      private static java.lang.Boolean USE_SYSTEM_FONTS_SYSTEM_VALUE
      Holds the Boolean system property value for the use of system fonts, or null, if it has not been set.
      static java.lang.String WINDOWS_CONTROL_FONT_KEY
      A key for setting the default control font in the Windows L&f.
      static java.lang.String WINDOWS_FONT_POLICY_KEY
      A key for setting a custom FontPolicy for the Windows L&fs.
      static java.lang.String WINDOWS_MENU_FONT_KEY
      A key for setting the default menu font in the Windows L&f.
      static java.lang.String WINDOWS_MICRO_LAYOUT_POLICY_KEY
      A UIManager key for setting a custom MicroLayoutPolicy for the Windows L&f.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Options()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String getCrossPlatformLookAndFeelClassName()
      Returns the class name for a cross-platform LookAndFeel.
      static java.awt.Dimension getDefaultIconSize()
      Returns the default icon size that is used in menus, menu items and toolbars.
      static java.lang.String getReplacementClassNameFor​(java.lang.String className)
      Returns the class name that can be used to replace the specified LookAndFeel class name.
      static java.lang.Boolean getSelectOnFocusGainEnabled​(javax.swing.text.JTextComponent c)
      Returns component's individual setting for the select on focus gain feature.
      static java.lang.String getSystemLookAndFeelClassName()
      Returns the class name for a system specific LookAndFeel.
      static boolean getUseNarrowButtons()
      Checks and answers if we shall use narrow button margins of 4 pixels.
      static boolean getUseSystemFonts()
      Returns whether native system fonts shall be used, true by default unless disabled in the system properties or UIManager.
      private static void initializeDefaultReplacements()
      Initializes some default class name replacements, that replace Sun's Java look and feel, and Sun's Windows look and feel by the appropriate JGoodies replacements.
      static boolean isHiResGrayFilterEnabled()
      Checks and answers whether the new high-resolution gray filter is enabled or disabled.
      static boolean isPopupDropShadowActive()
      Checks and answers whether popup drop shadows are active.
      static boolean isPopupDropShadowEnabled()
      Checks and answers whether the optional drop shadows for PopupMenus are enabled or disabled.
      private static boolean isPopupDropShadowEnabledDefault()
      Checks and answers whether popup drop shadows are enabled or disabled by default.
      static boolean isSelectOnFocusGainActive​(javax.swing.text.JTextComponent c)
      Checks and answers whether the select all on focus gain feature is active for the given field.
      static boolean isSelectOnFocusGainEnabled()
      Checks and answers whether the global default for text fields is to select all text on focus gain.
      static boolean isTabIconsEnabled()
      Checks and answers if we shall use icons in JTabbedPanes.
      static void putLookAndFeelReplacement​(java.lang.String original, java.lang.String replacement)
      Puts a replacement name for a given LookAndFeel class name in the list of all look and feel replacements.
      static void removeLookAndFeelReplacement​(java.lang.String original)
      Removes a replacement name for a given LookAndFeel class name from the list of all look and feel replacements.
      static void setDefaultIconSize​(java.awt.Dimension defaultIconSize)
      Sets the default icon size.
      static void setHiResGrayFilterEnabled​(boolean b)
      Enables or disables the new high-resolution gray filter globally.
      static void setPopupDropShadowEnabled​(boolean b)
      Enables or disables drop shadows in PopupMenus.
      static void setSelectOnFocusGainEnabled​(boolean b)
      Enables or disables the select on focus gain feature globally.
      static void setSelectOnFocusGainEnabled​(javax.swing.JTextField field, java.lang.Boolean b)
      Overrides the global default for the select all feature for the given text field.
      static void setTabIconsEnabled​(boolean b)
      Enables or disables the use of icons in JTabbedPanes.
      static void setUseNarrowButtons​(boolean b)
      Globally sets the use narrow or standard button margins.
      static void setUseSystemFonts​(boolean useSystemFonts)
      Sets a value in the UIManager to indicate, that a look&feel may use the native system fonts.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PLASTIC_NAME

        public static final java.lang.String PLASTIC_NAME
        The class name of the JGoodies Plastic L&f.
        See Also:
        Constant Field Values
      • PLASTIC3D_NAME

        public static final java.lang.String PLASTIC3D_NAME
        The class name of the JGoodies Plastic3D L&f.
        See Also:
        Constant Field Values
      • PLASTICXP_NAME

        public static final java.lang.String PLASTICXP_NAME
        The class name of the JGoodies PlasticXP L&f.
        See Also:
        Constant Field Values
      • JGOODIES_WINDOWS_NAME

        public static final java.lang.String JGOODIES_WINDOWS_NAME
        The class name of the JGoodies Windows L&f.
        See Also:
        Constant Field Values
      • DEFAULT_LOOK_NAME

        public static final java.lang.String DEFAULT_LOOK_NAME
        The class name of the default JGoodies L&f, PlasticXP.
        See Also:
        Constant Field Values
      • WINDOWS_FONT_POLICY_KEY

        public static final java.lang.String WINDOWS_FONT_POLICY_KEY
        A key for setting a custom FontPolicy for the Windows L&fs. Used for both the system properties and the UIDefaults table.
        See Also:
        WindowsLookAndFeel#getFontPolicy(), WindowsLookAndFeel#setFontPolicy(FontPolicy), Constant Field Values
      • WINDOWS_MICRO_LAYOUT_POLICY_KEY

        public static final java.lang.String WINDOWS_MICRO_LAYOUT_POLICY_KEY
        A UIManager key for setting a custom MicroLayoutPolicy for the Windows L&f.
        See Also:
        WindowsLookAndFeel#getMicroLayoutPolicy(), WindowsLookAndFeel#setMicroLayoutPolicy(MicroLayout), Constant Field Values
      • DEFAULT_ICON_SIZE_KEY

        public static final java.lang.String DEFAULT_ICON_SIZE_KEY
        See Also:
        Constant Field Values
      • USE_NARROW_BUTTONS_KEY

        public static final java.lang.String USE_NARROW_BUTTONS_KEY
        See Also:
        Constant Field Values
      • TAB_ICONS_ENABLED_KEY

        public static final java.lang.String TAB_ICONS_ENABLED_KEY
        See Also:
        Constant Field Values
      • SELECT_ON_FOCUS_GAIN_KEY

        public static final java.lang.String SELECT_ON_FOCUS_GAIN_KEY
        A UIDefaults key for the global default whether text fields shall select all text on focus gain. This can be overridden per field.
        Since:
        2.2
        See Also:
        setSelectOnFocusGainEnabled(boolean), Constant Field Values
      • IS_ETCHED_KEY

        public static final java.lang.String IS_ETCHED_KEY
        A JScrollPane client property key for a hint that the scroll pane border should be etched.
        See Also:
        Constant Field Values
      • HEADER_STYLE_KEY

        public static final java.lang.String HEADER_STYLE_KEY
        A client property key for JMenuBar and JToolBar style hints. Available styles are: HeaderStyle.Single and HeaderStyle.Both.
        See Also:
        HeaderStyle, BorderStyle, Constant Field Values
      • NO_ICONS_KEY

        public static final java.lang.String NO_ICONS_KEY
        A JMenu client property key for a hint that the menu items in the menu have no icons.
        See Also:
        Constant Field Values
      • NO_MARGIN_KEY

        public static final java.lang.String NO_MARGIN_KEY
        A JPopupMenu client property key for a hint that the border shall have no extra margin. This is useful if the popup menu contains only a single component, for example a scrollpane.
        See Also:
        Constant Field Values
      • TREE_LINE_STYLE_ANGLED_VALUE

        public static final java.lang.String TREE_LINE_STYLE_ANGLED_VALUE
        A JTree client property value that indicates that lines shall be drawn.
        See Also:
        TREE_LINE_STYLE_KEY, Constant Field Values
      • TREE_LINE_STYLE_NONE_VALUE

        public static final java.lang.String TREE_LINE_STYLE_NONE_VALUE
        A JTree client property value that indicates that lines shall be hidden.
        See Also:
        TREE_LINE_STYLE_KEY, Constant Field Values
      • NO_CONTENT_BORDER_KEY

        public static final java.lang.String NO_CONTENT_BORDER_KEY
        A JTabbedPane client property key that indicates that no content border shall be painted. Supported by the JGoodies Windows L&f and the JGoodies Plastic look&feel family. This effect will be achieved also if the EMBEDDED property is true.
        See Also:
        Constant Field Values
      • EMBEDDED_TABS_KEY

        public static final java.lang.String EMBEDDED_TABS_KEY
        A JTabbedPane client property key that indicates that tabs are painted with a special embedded appearance. Supported by the JGoodies Windows L&f and the JGoodies Plastic look&feel family. As a side effect of the embedded appearance, supporting L&fs won't paint the content border.
        See Also:
        Constant Field Values
      • COMBO_POPUP_PROTOTYPE_DISPLAY_VALUE_KEY

        public static final java.lang.String COMBO_POPUP_PROTOTYPE_DISPLAY_VALUE_KEY
        A JComboBox client property key for the combo's popup menu prototype display value. If this key is set, the value will be used to compute the combo popup width. This optional feature is supported by the JGoodies Windows L&f as well as the JGoodies Plastic L&fs.
        See Also:
        Constant Field Values
      • COMBO_RENDERER_IS_BORDER_REMOVABLE

        public static final java.lang.String COMBO_RENDERER_IS_BORDER_REMOVABLE
        A client property key for combo box renderer components. The Boolean value indicates whether the component's border can be temporarily removed when painting the current value or not.

        This is useful for custom renderers used with Windows combo boxes as described by WindowsComboBoxUI#paintCurrentValue}.

        Since:
        2.1
        See Also:
        Constant Field Values
      • SELECT_ON_FOCUS_GAIN_CLIENT_KEY

        public static final java.lang.String SELECT_ON_FOCUS_GAIN_CLIENT_KEY
        A JTextField client property key that specifies whether all text shall be selected on focus gain. Overrides the global default.

        This feature can be set using setSelectOnFocusGainEnabled(JTextField, Boolean). If you want to avoid to link application code to the JGoodies Looks library, you can set the client property directly using:

         aTextField.putClientProperty("JGoodies.selectAllOnFocusGain", Boolean.TRUE);
         
        Since:
        2.2
        See Also:
        setSelectOnFocusGainEnabled(boolean), Constant Field Values
      • INVERT_SELECTION_CLIENT_KEY

        public static final java.lang.String INVERT_SELECTION_CLIENT_KEY
        A JTextField client property key that specifies the direction how text shall be selected on focus gain - if at all: from start to end vs. end to start. If the value is set to Boolean.TRUE, the text is selected from end to start, otherwise it is selected from start to end.

        You can set the client property using:

         aTextField.putClientProperty("JGoodies.invertSelection", Boolean.TRUE);
         
        Since:
        2.2
        See Also:
        Constant Field Values
      • SET_CARET_TO_START_ON_FOCUS_LOST_CLIENT_KEY

        public static final java.lang.String SET_CARET_TO_START_ON_FOCUS_LOST_CLIENT_KEY
        A JTextField client property key that specifies whether the caret shall be positioned at the start on focus lost. If the value is set to Boolean.TRUE, the caret is set to position 0 on focus lost, otherwise the caret remains unchanged.

        You can set the client property using:

         aTextField.putClientProperty("JGoodies.setCaretToStartOnFocusLost", Boolean.TRUE);
         
        Since:
        2.2
        See Also:
        Constant Field Values
      • USE_SYSTEM_FONTS_SYSTEM_VALUE

        private static final java.lang.Boolean USE_SYSTEM_FONTS_SYSTEM_VALUE
        Holds the Boolean system property value for the use of system fonts, or null, if it has not been set. If this property has been set, we log a message about the choosen value.
        See Also:
        getUseSystemFonts()
      • USE_NARROW_BUTTONS_SYSTEM_VALUE

        private static final java.lang.Boolean USE_NARROW_BUTTONS_SYSTEM_VALUE
        Holds the Boolean system property value for the use of narrow buttons or null, if it has not been set. If this property has been set, we log a message about the chosen value.
        See Also:
        getUseNarrowButtons()
      • TAB_ICONS_ENABLED_SYSTEM_VALUE

        private static final java.lang.Boolean TAB_ICONS_ENABLED_SYSTEM_VALUE
        Holds the Boolean system property value for the tab icon enablement, or null, if it has not been set. If this property has been set, we log a message about the chosen value.
        See Also:
        isTabIconsEnabled()
      • POPUP_DROP_SHADOW_ENABLED_SYSTEM_VALUE

        private static final java.lang.Boolean POPUP_DROP_SHADOW_ENABLED_SYSTEM_VALUE
        Holds the Boolean system property value for the popup drop shadow enablement, or null, if it has not been set. If this property has been set, we log a message about the chosen value.

        This property just set the feature's enablement, not its actual activation. For example, drop shadows are always inactive on the Mac OS X, because this platform already provides shadows. The activation is requested in #isPopupDropShadowActive.

        See Also:
        isPopupDropShadowEnabled(), isPopupDropShadowActive()
      • DEFAULT_ICON_SIZE

        private static final java.awt.Dimension DEFAULT_ICON_SIZE
      • NO_REPLACEMENT

        public static final java.lang.String NO_REPLACEMENT
        A replacement used to replace a given L&f with nothing, that indicates that it should not be used. For example, by default we mark the WindowsClass L&f this way, to remove it from L&f lists that replace the Sun Windows L&f with the JGoodies Windows L&f.
        Since:
        2.1.3
        See Also:
        Constant Field Values
    • Constructor Detail

      • Options

        private Options()
    • Method Detail

      • setUseSystemFonts

        public static void setUseSystemFonts​(boolean useSystemFonts)
        Sets a value in the UIManager to indicate, that a look&feel may use the native system fonts.
        Parameters:
        useSystemFonts - true to enable system fonts in the UIManager
        See Also:
        getUseSystemFonts(), USE_SYSTEM_FONTS_KEY, USE_SYSTEM_FONTS_APP_KEY
      • getDefaultIconSize

        public static java.awt.Dimension getDefaultIconSize()
        Returns the default icon size that is used in menus, menu items and toolbars. Menu items that have no icon set are aligned using the default icon dimensions.
        Returns:
        the dimension of the default icon
        See Also:
        setDefaultIconSize(Dimension)
      • setDefaultIconSize

        public static void setDefaultIconSize​(java.awt.Dimension defaultIconSize)
        Sets the default icon size.
        Parameters:
        defaultIconSize - the default icon size to set
        See Also:
        getDefaultIconSize()
      • getUseNarrowButtons

        public static boolean getUseNarrowButtons()
        Checks and answers if we shall use narrow button margins of 4 pixels. As of the Looks version 1.4 the default value is true (narrow) for the JGoodies Windows L&F and the JGoodies Plastic L&F family. The native Windows L&F uses narrow margins too. The default can be disabled in the system properties or UIManager.

        Note: Using narrow button margins can potentially cause compatibility issues, if you don't take care that command buttons with short labels (OK) get a reasonable minimum width. Therefore you can get back to wide button margins using #setUseNarrowButtons. Sun's L&F implementations use a wider button margin of 14 pixels.

        Narrow button margins make it easier to give buttons in a button bar the same width, even if some button labels are long. And narrow margins are useful for embedded command buttons that just have an icon, or an ellipsis (…). Many style guides recommend to use a minimum button width in command button bars, for example 50 dialog units on Windows. Such a minimum width makes it easier to click a button, just because the button area has a reasonable minimum size. To ensure a reasonable button minimum width, you may configure a LayoutManager, use a special panel for command button bars, or a factory that vends command button bars.

        The JGoodies FormLayout can layout button bars that comply with both the MS Windows Layout Guidelines and the Mac Aqua Human Interface Guidelines. The JGoodies Forms contains a ButtonBarBuilder to build command button bars, and a ButtonBarFactory that vends frequently used button bars.

        Returns:
        true (default) if all buttons shall use narrow margins, false for wider margins
        See Also:
        setUseNarrowButtons(boolean), USE_NARROW_BUTTONS_KEY
      • setUseNarrowButtons

        public static void setUseNarrowButtons​(boolean b)
        Globally sets the use narrow or standard button margins.

        In previous versions of the JGoodies Looks this setting was supported also for individual buttons - primarily to offer visual backward compatibility with Sun L&Fs.

        Parameters:
        b - true to use narrow button margins globally
        See Also:
        getUseNarrowButtons(), USE_NARROW_BUTTONS_KEY
      • isTabIconsEnabled

        public static boolean isTabIconsEnabled()
        Checks and answers if we shall use icons in JTabbedPanes. By default, tab icons are enabled. If the user has set a system property, we log a message about the choosen style.
        Returns:
        true if icons in tabbed panes are enabled, false if disabled
        See Also:
        setTabIconsEnabled(boolean)
      • setTabIconsEnabled

        public static void setTabIconsEnabled​(boolean b)
        Enables or disables the use of icons in JTabbedPanes.
        Parameters:
        b - true to enable icons in tabbed panes, false to disable them
        See Also:
        isTabIconsEnabled()
      • isPopupDropShadowActive

        public static boolean isPopupDropShadowActive()
        Checks and answers whether popup drop shadows are active. This feature shall be inactive with toolkits that use native drop shadows, such as Aqua on the Mac OS X. It is also inactive if the ShadowPopup cannot snapshot the desktop background (due to security and AWT exceptions). Otherwise the feature's enablement state is returned.

        Currently only the Mac OS X is detected as platform where the toolkit uses native drop shadows.

        Returns:
        true if drop shadows are active, false if inactive
        See Also:
        isPopupDropShadowEnabled(), setPopupDropShadowEnabled(boolean)
      • setPopupDropShadowEnabled

        public static void setPopupDropShadowEnabled​(boolean b)
        Enables or disables drop shadows in PopupMenus. Note that drop shadows are always inactive on platforms that provide native drop shadows such as the Mac OS X.

        It is recommended to enable this feature only on platforms that accelerate translucency and snapshots with the hardware.

        Parameters:
        b - true to enable drop shadows, false to disable them
        See Also:
        isPopupDropShadowActive(), isPopupDropShadowEnabled()
      • isPopupDropShadowEnabledDefault

        private static boolean isPopupDropShadowEnabledDefault()
        Checks and answers whether popup drop shadows are enabled or disabled by default. True for modern Windows platforms: Windows 98/ME/2000/XP.

        TODO: Consider enabling popup drop shadows on Linux by default.

        TODO: Consider moving the default to the individual L&F's component defaults initialization. For example Plastic and Plastic3D may disable this feature by default, while PlasticXP enables it by default.

        Returns:
        false
      • setHiResGrayFilterEnabled

        public static void setHiResGrayFilterEnabled​(boolean b)
        Enables or disables the new high-resolution gray filter globally. This gray filter can be disabled for individual components using the client property key HI_RES_DISABLED_ICON_CLIENT_KEY.
        Parameters:
        b - true to enable the high-resolution gray filter, false to disable them
        Since:
        2.1
        See Also:
        isHiResGrayFilterEnabled()
      • isSelectOnFocusGainEnabled

        public static boolean isSelectOnFocusGainEnabled()
        Checks and answers whether the global default for text fields is to select all text on focus gain. The global default can be overridden per component. This feature is turned on by default.

        For all full description and background see setSelectOnFocusGainEnabled(boolean).

        Returns:
        true if the select all feature is enabled globally, false if disabled
        Since:
        2.2
        See Also:
        SELECT_ON_FOCUS_GAIN_KEY, SELECT_ON_FOCUS_GAIN_CLIENT_KEY
      • setSelectOnFocusGainEnabled

        public static void setSelectOnFocusGainEnabled​(boolean b)
        Enables or disables the select on focus gain feature globally. This feature can be disabled for individual components using the client property key SELECT_ALL_ON_FOCUS_GAIN_CLIENT_KEY. It is enabled by default.

        Background: If users are more likely going to reenter the entire value in a text field, all text shall be selected on focus gain. If users are more likely to edit a text, the caret shall be placed at the end of the text.

        Parameters:
        b - true to enable the select all on focus gain, false to disable this feature globally
        Since:
        2.2
        See Also:
        isSelectOnFocusGainEnabled()
      • isSelectOnFocusGainActive

        public static boolean isSelectOnFocusGainActive​(javax.swing.text.JTextComponent c)
        Checks and answers whether the select all on focus gain feature is active for the given field. Involves both the indiviual setting and the global default.
        Parameters:
        c - the component to check
        Returns:
        true if the feature is enabled for c or globally, false if the feature is disabled for c or globally disabled.
        Since:
        2.2
      • getSelectOnFocusGainEnabled

        public static java.lang.Boolean getSelectOnFocusGainEnabled​(javax.swing.text.JTextComponent c)
        Returns component's individual setting for the select on focus gain feature.
        Parameters:
        c - the component to check
        Returns:
        Boolean.TRUE if enabled, Boolean.FALSE if disabled, null if the global default is used
        Since:
        2.2
        See Also:
        isSelectOnFocusGainActive(JTextComponent)
      • setSelectOnFocusGainEnabled

        public static void setSelectOnFocusGainEnabled​(javax.swing.JTextField field,
                                                       java.lang.Boolean b)
        Overrides the global default for the select all feature for the given text field.
        Parameters:
        field - the field to set this feature
        b - Boolean.TRUE to enable, Boolean.FALSE to disable, null to use the global default
        Since:
        2.2
      • putLookAndFeelReplacement

        public static void putLookAndFeelReplacement​(java.lang.String original,
                                                     java.lang.String replacement)
        Puts a replacement name for a given LookAndFeel class name in the list of all look and feel replacements.
        Parameters:
        original - the name of the look-and-feel to replace
        replacement - the name of the replacement look-and-feel
        See Also:
        removeLookAndFeelReplacement(String), getReplacementClassNameFor(String)
      • removeLookAndFeelReplacement

        public static void removeLookAndFeelReplacement​(java.lang.String original)
        Removes a replacement name for a given LookAndFeel class name from the list of all look and feel replacements.
        Parameters:
        original - the name of the look-and-feel that has been replaced
        See Also:
        putLookAndFeelReplacement(String, String), getReplacementClassNameFor(String)
      • getReplacementClassNameFor

        public static java.lang.String getReplacementClassNameFor​(java.lang.String className)
        Returns the class name that can be used to replace the specified LookAndFeel class name.
        Parameters:
        className - the name of the look-and-feel class
        Returns:
        the name of the suggested replacement class
        See Also:
        putLookAndFeelReplacement(String, String), removeLookAndFeelReplacement(String)
      • getCrossPlatformLookAndFeelClassName

        public static java.lang.String getCrossPlatformLookAndFeelClassName()
        Returns the class name for a cross-platform LookAndFeel.
        Returns:
        the name of a cross platform look-and-feel class
        See Also:
        getSystemLookAndFeelClassName()
      • getSystemLookAndFeelClassName

        public static java.lang.String getSystemLookAndFeelClassName()
        Returns the class name for a system specific LookAndFeel.
        Returns:
        the name of the system look-and-feel class
        See Also:
        getCrossPlatformLookAndFeelClassName()