Class UIManagerExt

java.lang.Object
org.jdesktop.swingx.plaf.UIManagerExt

public class UIManagerExt extends Object
A utility class for obtaining configuration properties from the UIDefaults. This class handles SwingX-specific Linvalid input: '&F' needs, such as the installation of painters and shapes. There are several categories of utility methods:
  • Support for the safe creation of UIResources.
  • Support for new UIResource types, such as PainterUIResource.
  • Support for the dynamic localization of UIDefaults.
  • Support for returning non-String localizations from ResourceBundles.

Safe Methods

The getSafeXXX methods are designed for use with LookAndFeelAddons. Any addon that attempts to obtain a property defined in the defaults (available from UIManager.get) to set a property that will be added to the defaults for the addon should use the "safe" methods. The methods ensure that a valid value is always returned and that value is a UIResource.

Support for New Types

UIManagerExt supports the retrieval of new UIResource types. There is a getXXX method for every UIResource subtype in the org.jdesktop.swingx.plaf package.

Support for Dynamic Localization

UIManagerExt enables dynamic localization by supporting ResourceBundles. The UIDefaults.addResourceBundle(String) allows resource bundles to be added to the UIDefaults. While there is support for this feature in core, there is a bug with the class loader that prevents user added bundles from working correctly when used via Web Start. Therefore, UIManagerExt defines methods to add and remove resource bundles. These are the only methods that SwingX classes should use when adding resource bundles to the defaults. Since UIManagerExt is maintaining the bundles, any localized Strings must be retrieved from the getString methods in this class.

Support for Non-String Localization Values

All methods work by first determining if the value is present UIDefaults. If the value is not present, then the installed ResourceBundles are queried. UIManagerExt will attempt to convert any returned value to the appropriate type. For instance, getInt uses Integer.decode to convert Strings returned from the bundle into ints.

See Also:
  • Field Details

  • Constructor Details

    • UIManagerExt

      private UIManagerExt()
  • Method Details

    • addResourceBundle

      public static void addResourceBundle(String bundleName)
      Adds a resource bundle to the list of resource bundles that are searched for localized values. Resource bundles are searched in the reverse order they were added. In other words, the most recently added bundle is searched first.
      Parameters:
      bundleName - the base name of the resource bundle to be added
      See Also:
    • removeResourceBundle

      public static void removeResourceBundle(String bundleName)
      Removes a resource bundle from the list of resource bundles that are searched for localized defaults.
      Parameters:
      bundleName - the base name of the resource bundle to be removed
      See Also:
    • getString

      public static String getString(Object key)
      Returns a string from the defaults. If the value for key is not a String, null is returned.
      Parameters:
      key - an Object specifying the string
      Returns:
      the String object
      Throws:
      NullPointerException - if key is null
    • getString

      public static String getString(Object key, Locale l)
      Returns a string from the defaults. If the value for key is not a String, null is returned.
      Parameters:
      key - an Object specifying the string
      l - the Locale for which the string is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the String object
      Throws:
      NullPointerException - if key is null
    • getInt

      public static int getInt(Object key)
      Returns an integer from the defaults. If the value for key is not an int, 0 is returned.
      Parameters:
      key - an Object specifying the integer
      Returns:
      the int
      Throws:
      NullPointerException - if key is null
    • getInt

      public static int getInt(Object key, Locale l)
      Returns an integer from the defaults. If the value for key is not an int, 0 is returned.
      Parameters:
      key - an Object specifying the integer
      l - the Locale for which the integer is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the int
      Throws:
      NullPointerException - if key is null
    • getBoolean

      public static boolean getBoolean(Object key)
      Returns an Boolean from the defaults. If the value for key is not a boolean, false is returned.
      Parameters:
      key - an Object specifying the Boolean
      Returns:
      the boolean
      Throws:
      NullPointerException - if key is null
    • getBoolean

      public static boolean getBoolean(Object key, Locale l)
      Returns an Boolean from the defaults. If the value for key is not a boolean, false is returned.
      Parameters:
      key - an Object specifying the Boolean
      l - the Locale for which the Boolean is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the boolean
      Throws:
      NullPointerException - if key is null
    • getColor

      public static Color getColor(Object key)
      Returns a color from the defaults. If the value for key is not a Color, null is returned.
      Parameters:
      key - an Object specifying the color
      Returns:
      the Color object
      Throws:
      NullPointerException - if key is null
    • getColor

      public static Color getColor(Object key, Locale l)
      Returns a color from the defaults. If the value for key is not a Color, null is returned.
      Parameters:
      key - an Object specifying the color
      l - the Locale for which the color is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the Color object
      Throws:
      NullPointerException - if key is null
    • getShape

      public static Shape getShape(Object key)
      Returns a shape from the defaults. If the value for key is not a Shape, null is returned.
      Parameters:
      key - an Object specifying the shape
      Returns:
      the Shape object
      Throws:
      NullPointerException - if key is null
    • getShape

      public static Shape getShape(Object key, Locale l)
      Returns a shape from the defaults that is appropriate for the given locale. If the value for key is not a Shape, null is returned.
      Parameters:
      key - an Object specifying the shape
      l - the Locale for which the shape is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the Shape object
      Throws:
      NullPointerException - if key is null
    • getPainter

      public static Painter<?> getPainter(Object key)
      Returns a painter from the defaults. If the value for key is not a Painter, null is returned.
      Parameters:
      key - an Object specifying the painter
      Returns:
      the Painter object
      Throws:
      NullPointerException - if key is null
    • getPainter

      public static Painter<?> getPainter(Object key, Locale l)
      Returns a painter from the defaults that is appropriate for the given locale. If the value for key is not a Painter, null is returned.
      Parameters:
      key - an Object specifying the painter
      l - the Locale for which the painter is desired; refer to UIDefaults for details on how a null Locale is handled
      Returns:
      the Painter object
      Throws:
      NullPointerException - if key is null
    • getSafeBorder

      public static Border getSafeBorder(Object key, Border defaultBorder)
      Returns a border from the defaults. If the value for key is not a Border, defaultBorder is returned.
      Parameters:
      key - an Object specifying the border
      defaultBorder - the border to return if the border specified by key does not exist
      Returns:
      the Border object
      Throws:
      NullPointerException - if key or defaultBorder is null
    • getSafeColor

      public static Color getSafeColor(Object key, Color defaultColor)
      Returns a color from the defaults. If the value for key is not a Color, defaultColor is returned.
      Parameters:
      key - an Object specifying the color
      defaultColor - the color to return if the color specified by key does not exist
      Returns:
      the Color object
      Throws:
      NullPointerException - if key or defaultColor is null
    • getSafeDimension

      public static Dimension getSafeDimension(Object key, Dimension defaultDimension)
      Returns a dimension from the defaults. If the value for key is not a Dimension, defaultDimension is returned.
      Parameters:
      key - an Object specifying the dimension
      defaultDimension - the dimension to return if the dimension specified by key does not exist
      Returns:
      the Dimension object
      Throws:
      NullPointerException - if key or defaultColor is null
    • getSafeFont

      public static Font getSafeFont(Object key, Font defaultFont)
      Returns a font from the defaults. If the value for key is not a Font, defaultFont is returned.
      Parameters:
      key - an Object specifying the font
      defaultFont - the font to return if the font specified by key does not exist
      Returns:
      the Font object
      Throws:
      NullPointerException - if key or defaultFont is null
    • getSafeIcon

      public static Icon getSafeIcon(Object key, Icon defaultIcon)
      Returns an icon from the defaults. If the value for key is not a Icon, defaultIcon is returned.
      Parameters:
      key - an Object specifying the icon
      defaultIcon - the icon to return if the icon specified by key does not exist
      Returns:
      the Icon object
      Throws:
      NullPointerException - if key or defaultIcon is null
    • getSafeInsets

      public static Insets getSafeInsets(Object key, Insets defaultInsets)
      Returns an insets from the defaults. If the value for key is not a Insets, defaultInsets is returned.
      Parameters:
      key - an Object specifying the insets
      defaultInsets - the insets to return if the insets specified by key does not exist
      Returns:
      the Insets object
      Throws:
      NullPointerException - if key or defaultInsets is null