org.jdesktop.swingx
Class SwingXUtilities

java.lang.Object
  extended by org.jdesktop.swingx.SwingXUtilities

public final class SwingXUtilities
extends Object

A collection of utility methods for Swing(X) classes.


Method Summary
static void adjustFocus(JComponent component)
           
static int convertModifiersToDropAction(int modifiers, int sourcActions)
           
static
<T> T
getAncestor(Class<T> clazz, Component c)
          An improved version of SwingUtilities.getAncestorOfClass(Class, Component).
static boolean isDescendingFrom(Component focusOwner, Component parent)
          Returns whether the component is part of the parent's container hierarchy.
static boolean isUIInstallable(Object property)
          Checks and returns whether the given property should be replaced by the UI's default value.
static int loc2IndexFileList(JList list, Point point)
           
static void setComponentTreeBackground(Component c, Color color)
          Sets the background for an entire component hierarchy to the specified color.
static void setComponentTreeEnabled(Component c, boolean enabled)
          Enables or disables of the components in the tree starting with c.
static void setComponentTreeFont(Component c, Font font)
          Sets the font for an entire component hierarchy to the specified font.
static void setComponentTreeForeground(Component c, Color color)
          Sets the foreground for an entire component hierarchy to the specified color.
static void setComponentTreeLocale(Component c, Locale locale)
          Sets the locale for an entire component hierarchy to the specified locale.
static void setHtmlFont(HTMLDocument doc, Font font)
          Sets the font used for HTML displays to the specified font.
static void setLeadAnchorWithoutSelection(ListSelectionModel selectionModel, int lead, int anchor)
          Updates lead and anchor selection index without changing the selection.
static boolean shouldIgnore(MouseEvent mouseEvent, JComponent component)
           
static void updateAllComponentTreeUIs()
          Updates the componentTreeUI of all top-level windows of the current application.
static void updateAllComponentTreeUIs(Window window)
          Updates the componentTreeUI of the given window and all its owned windows, recursively.
static void updateMnemonicBinding(JComponent c, String pressed)
          A helper for creating and updating key bindings for components with mnemonics.
static void updateMnemonicBinding(JComponent c, String pressed, String released)
          A helper for creating and updating key bindings for components with mnemonics.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

updateMnemonicBinding

public static void updateMnemonicBinding(JComponent c,
                                         String pressed)
A helper for creating and updating key bindings for components with mnemonics. The pressed action will be invoked when the mnemonic is activated.

TODO establish an interface for the mnemonic properties, such as MnemonicEnabled and change signature to public static <T extends JComponent & MnemonicEnabled> void updateMnemonicBinding(T c, String pressed)

Parameters:
c - the component bindings to update
pressed - the name of the action in the action map to invoke when the mnemonic is pressed
Throws:
NullPointerException - if the component is null

updateMnemonicBinding

public static void updateMnemonicBinding(JComponent c,
                                         String pressed,
                                         String released)
A helper for creating and updating key bindings for components with mnemonics. The pressed action will be invoked when the mnemonic is activated and the released action will be invoked when the mnemonic is deactivated.

TODO establish an interface for the mnemonic properties, such as MnemonicEnabled and change signature to public static <T extends JComponent & MnemonicEnabled> void updateMnemonicBinding(T c, String pressed, String released)

Parameters:
c - the component bindings to update
pressed - the name of the action in the action map to invoke when the mnemonic is pressed
released - the name of the action in the action map to invoke when the mnemonic is released (if the action is a toggle style, then this parameter should be null)
Throws:
NullPointerException - if the component is null

setComponentTreeEnabled

public static void setComponentTreeEnabled(Component c,
                                           boolean enabled)
Enables or disables of the components in the tree starting with c.

Parameters:
c - the starting component
enabled - true if the component is to enabled; false otherwise

setComponentTreeLocale

public static void setComponentTreeLocale(Component c,
                                          Locale locale)
Sets the locale for an entire component hierarchy to the specified locale.

Parameters:
c - the starting component
locale - the locale to set

setComponentTreeBackground

public static void setComponentTreeBackground(Component c,
                                              Color color)
Sets the background for an entire component hierarchy to the specified color.

Parameters:
c - the starting component
color - the color to set

setComponentTreeForeground

public static void setComponentTreeForeground(Component c,
                                              Color color)
Sets the foreground for an entire component hierarchy to the specified color.

Parameters:
c - the starting component
color - the color to set

setComponentTreeFont

public static void setComponentTreeFont(Component c,
                                        Font font)
Sets the font for an entire component hierarchy to the specified font.

Parameters:
c - the starting component
font - the font to set

setHtmlFont

public static void setHtmlFont(HTMLDocument doc,
                               Font font)
Sets the font used for HTML displays to the specified font. Components that display HTML do not necessarily honor font properties, since the HTML document can override these values. Calling setHtmlFont after the data is set will force the HTML display to use the font specified to this method.

Parameters:
doc - the HTML document to update
font - the font to use
Throws:
NullPointerException - if any parameter is null

updateAllComponentTreeUIs

public static void updateAllComponentTreeUIs()
Updates the componentTreeUI of all top-level windows of the current application.


updateAllComponentTreeUIs

public static void updateAllComponentTreeUIs(Window window)
Updates the componentTreeUI of the given window and all its owned windows, recursively.

Parameters:
window - the window to update

getAncestor

public static <T> T getAncestor(Class<T> clazz,
                                Component c)
An improved version of SwingUtilities.getAncestorOfClass(Class, Component). This method traverses JPopupMenu invoker and uses generics to return an appropriately typed object.

Type Parameters:
T - the type of ancestor to find
Parameters:
clazz - the class instance of the ancestor to find
c - the component to start the search from
Returns:
an ancestor of the correct type or null if no such ancestor exists. This method also returns null if any parameter is null.

isDescendingFrom

public static boolean isDescendingFrom(Component focusOwner,
                                       Component parent)
Returns whether the component is part of the parent's container hierarchy. If a parent in the chain is of type JPopupMenu, the parent chain of its invoker is walked.

Parameters:
focusOwner -
parent -
Returns:
true if the component is contained under the parent's hierarchy, coping with JPopupMenus.

isUIInstallable

public static boolean isUIInstallable(Object property)
Checks and returns whether the given property should be replaced by the UI's default value.

Parameters:
property - the property to check.
Returns:
true if the given property should be replaced by the UI's default value, false otherwise.

setLeadAnchorWithoutSelection

public static void setLeadAnchorWithoutSelection(ListSelectionModel selectionModel,
                                                 int lead,
                                                 int anchor)
Updates lead and anchor selection index without changing the selection. Note: this is c&p'ed from SwingUtilities2 to not have any direct dependency.

Parameters:
selectionModel - the selection model to change lead/anchor
lead - the lead selection index
anchor - the anchor selectin index

shouldIgnore

public static boolean shouldIgnore(MouseEvent mouseEvent,
                                   JComponent component)

loc2IndexFileList

public static int loc2IndexFileList(JList list,
                                    Point point)

adjustFocus

public static void adjustFocus(JComponent component)

convertModifiersToDropAction

public static int convertModifiersToDropAction(int modifiers,
                                               int sourcActions)