jaxx.runtime
Class SwingUtil

java.lang.Object
  extended by jaxx.runtime.Util
      extended by jaxx.runtime.SwingUtil

public class SwingUtil
extends Util

The runtime swing util class with some nice stuff.

Note : Replace previous class jaxx.runtime.swing.Utils in previous versions.

Since:
1.2
Author:
tony

Nested Class Summary
static class SwingUtil.TabbedPaneIterator<O>
          A simple iterator on a JTabbedPane.
 
Field Summary
static java.lang.String COLOR_PREFIX
           
static java.lang.String DEFAULT_ICON_PATH
           
static java.lang.String DEFAULT_ICON_PATH_PROPERTY
           
static java.lang.String ICON_PREFIX
           
 
Fields inherited from class jaxx.runtime.Util
PARENT
 
Constructor Summary
SwingUtil()
           
 
Method Summary
static void addExpandOnClickListener(javax.swing.JTree tree)
          Add a listener of tree selection model to expand a new selected node when it is selected.
static org.jdesktop.jxlayer.JXLayer<?> boxComponentWithJxLayer(javax.swing.JComponent component)
          Box a component in a JXLayer.
static void center(java.awt.Component parent, java.awt.Component component)
          Centrer un component graphique au center d'un autre component.
static int computeTableColumnWidth(javax.swing.JTable table, java.awt.Font font, int columnIndex, java.lang.String suffix)
           
static javax.swing.ImageIcon createActionIcon(java.lang.String name)
           
static javax.swing.ImageIcon createI18nIcon(java.lang.String name)
           
static javax.swing.ImageIcon createIcon(java.lang.String path)
           
static javax.swing.ImageIcon createImageIcon(java.lang.String path)
           
static void expandTree(javax.swing.JTree tree)
          Expand all childs of a tree.
static void fillComboBox(JAXXComboBox combo, java.util.Collection<?> data, java.lang.Object select, boolean firstNull)
          Deprecated. since 1.7.XXX this code is moved to JAXXComboBox
static void fillComboBox(javax.swing.JComboBox combo, java.util.Collection<?> data, java.lang.Object select)
          Fill a combo box model with some datas, and select after all the given object
static void fillList(javax.swing.JList list, java.util.Collection<?> data, java.lang.Object select)
          Fill a list model with some datas, and select after all the given object
static java.awt.Component findComponentAt(java.awt.Container cont, int width, int height, int x, int y)
           
static void fixTableColumnWidth(javax.swing.JTable table, int columnIndex, int width)
           
static java.awt.Component getDeepestObjectAt(java.awt.Component parent, int x, int y)
          Gets the higest visible component in a ancestor hierarchy at specific x,y coordinates
static org.jdesktop.jxlayer.JXLayer<javax.swing.JComponent> getLayer(javax.swing.JComponent comp)
           
static java.util.List<javax.swing.JComponent> getLayeredComponents(JAXXObject object)
           
static
<O extends java.awt.Container>
O
getParentContainer(java.lang.Object top, java.lang.Class<O> clazz)
          Return parent's container corresponding to the Class clazz
static javax.swing.Icon getUIManagerActionIcon(java.lang.String key)
          retreave for the UIManager the icon prefixed by action.
static javax.swing.Icon getUIManagerIcon(java.lang.String key)
           
static void initNimbusLoookAndFeel()
          Try to load the Nimbus look and feel.
static boolean isLayered(javax.swing.JComponent comp)
           
static void loadUIConfig(java.lang.String defaultUIConfig, java.lang.String extraUIConfig)
          Load the ui.properties file and set in UIManager colors and icons found.
static java.util.Map<java.lang.String,javax.swing.JComponent> lookingForEditor(java.lang.Class<?> clazz, java.awt.Container container)
          recherche les composants portant le meme nom que les champs de la classe clazz.
static javax.swing.table.TableCellRenderer newBooleanTableCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer)
           
static javax.swing.table.TableCellRenderer newDeleteCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer)
           
static EmptyNumberTableCellRenderer newEmptyNumberTableCellRenderer(javax.swing.table.TableCellRenderer renderer)
           
static
<E extends java.lang.Enum<E>>
EnumTableCellRenderer<E>
newEnumTableCellRenderer(javax.swing.table.TableCellRenderer renderer, java.lang.Class<E> enumClass)
           
static javax.swing.JLabel newLabel(java.lang.String text, java.lang.Object iconKey, int aligment)
           
static java.awt.Dimension newMaxXDimension()
           
static java.awt.Dimension newMaxXYDimension()
           
static java.awt.Dimension newMaxYDimension()
           
static java.awt.Dimension newMinDimension()
           
static javax.swing.table.TableCellRenderer newStringTableCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer, int length, boolean tooltip)
           
static SwingUtil.TabbedPaneIterator<java.awt.Component> newTabbedPaneIterator(javax.swing.JTabbedPane tabs)
          Iterate the components of a JTabbedPane in natural order.
static void openLink(javax.swing.event.HyperlinkEvent he)
          Open a link coming from a HyperlinkEvent.
static void setComponentHeight(java.awt.Component component, int height)
          Set the height of a given component.
static void setComponentWidth(java.awt.Component component, int width)
          Set the width of the given component
static void setI18nTableHeaderRenderer(javax.swing.JTable table, java.lang.String... libelles)
           
static void setTableColumnEditor(javax.swing.JTable table, int columnIndex, javax.swing.table.TableCellEditor editor)
           
static void setTableColumnRenderer(javax.swing.JTable table, int columnIndex, javax.swing.table.TableCellRenderer editor)
           
static void setText(javax.swing.text.JTextComponent c, java.lang.String text)
           
 
Methods inherited from class jaxx.runtime.Util
applyDataBinding, applyDataBinding, assignment, assignment, assignment, assignment, assignment, assignment, assignment, assignment, assignment, castList, checkJAXXContextEntry, decodeCompressedJAXXObjectDescriptor, decodeJAXXObjectDescriptor, findJaxxPropertyChangeListener, getDataBindingUpdateListener, getEventListener, getEventListener, getStringValue, initContext, newContextEntryDef, newContextEntryDef, newListContextEntryDef, newListContextEntryDef, processDataBinding, removeDataBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ICON_PATH

public static final java.lang.String DEFAULT_ICON_PATH
See Also:
Constant Field Values

DEFAULT_ICON_PATH_PROPERTY

public static final java.lang.String DEFAULT_ICON_PATH_PROPERTY
See Also:
Constant Field Values

ICON_PREFIX

public static final java.lang.String ICON_PREFIX
See Also:
Constant Field Values

COLOR_PREFIX

public static final java.lang.String COLOR_PREFIX
See Also:
Constant Field Values
Constructor Detail

SwingUtil

public SwingUtil()
Method Detail

newMinDimension

public static java.awt.Dimension newMinDimension()

newMaxXDimension

public static java.awt.Dimension newMaxXDimension()

newMaxYDimension

public static java.awt.Dimension newMaxYDimension()

newMaxXYDimension

public static java.awt.Dimension newMaxXYDimension()

setText

public static void setText(javax.swing.text.JTextComponent c,
                           java.lang.String text)

fillComboBox

public static void fillComboBox(javax.swing.JComboBox combo,
                                java.util.Collection<?> data,
                                java.lang.Object select)
Fill a combo box model with some datas, and select after all the given object

Parameters:
combo - the combo to fill
data - data ot inject in combo
select - the object to select in combo after reflling his model

fillList

public static void fillList(javax.swing.JList list,
                            java.util.Collection<?> data,
                            java.lang.Object select)
Fill a list model with some datas, and select after all the given object

Parameters:
list - the list to fill
data - data ot inject in combo
select - the object to select in combo after reflling his model

fillComboBox

@Deprecated
public static void fillComboBox(JAXXComboBox combo,
                                           java.util.Collection<?> data,
                                           java.lang.Object select,
                                           boolean firstNull)
Deprecated. since 1.7.XXX this code is moved to JAXXComboBox

TODO move this to JAXXComboBox.

Fill a combo box model with some datas, and select after all the given object

Parameters:
combo - the combo to fill
data - data ot inject in combo
select - the object to select in combo after reflling his model
firstNull - add a first null element

getParentContainer

public static <O extends java.awt.Container> O getParentContainer(java.lang.Object top,
                                                                  java.lang.Class<O> clazz)
Return parent's container corresponding to the Class clazz

Type Parameters:
O - type of container to obtain from context
Parameters:
top - the top container
clazz - desired
Returns:
parent's container

computeTableColumnWidth

public static int computeTableColumnWidth(javax.swing.JTable table,
                                          java.awt.Font font,
                                          int columnIndex,
                                          java.lang.String suffix)

fixTableColumnWidth

public static void fixTableColumnWidth(javax.swing.JTable table,
                                       int columnIndex,
                                       int width)

setTableColumnEditor

public static void setTableColumnEditor(javax.swing.JTable table,
                                        int columnIndex,
                                        javax.swing.table.TableCellEditor editor)

setTableColumnRenderer

public static void setTableColumnRenderer(javax.swing.JTable table,
                                          int columnIndex,
                                          javax.swing.table.TableCellRenderer editor)

setI18nTableHeaderRenderer

public static void setI18nTableHeaderRenderer(javax.swing.JTable table,
                                              java.lang.String... libelles)

newStringTableCellRenderer

public static javax.swing.table.TableCellRenderer newStringTableCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer,
                                                                             int length,
                                                                             boolean tooltip)

boxComponentWithJxLayer

public static org.jdesktop.jxlayer.JXLayer<?> boxComponentWithJxLayer(javax.swing.JComponent component)
Box a component in a JXLayer.

Parameters:
component - the component to box
Returns:
the JXLayer boxing the component

getLayeredComponents

public static java.util.List<javax.swing.JComponent> getLayeredComponents(JAXXObject object)

getLayer

public static org.jdesktop.jxlayer.JXLayer<javax.swing.JComponent> getLayer(javax.swing.JComponent comp)

isLayered

public static boolean isLayered(javax.swing.JComponent comp)

lookingForEditor

public static java.util.Map<java.lang.String,javax.swing.JComponent> lookingForEditor(java.lang.Class<?> clazz,
                                                                                      java.awt.Container container)
recherche les composants portant le meme nom que les champs de la classe clazz. Cette methode est statique pour pouvoir eventuellement l'utiliser dans un autre context (je pense par exemple a la generation jaxx).

Si la recherche echoue pour quelque raison que se soit, aucune exception n'est leve, et la map retournee est tout simplement vide ou incomplete

Parameters:
clazz - la classe ou recherche les champs
container - le container ou rechercher les composants d'edition
Returns:
le dictionnaire des composants recherches.

center

public static void center(java.awt.Component parent,
                          java.awt.Component component)
Centrer un component graphique au center d'un autre component.

Note: si le parent est null, alors on ne fait rien.

Parameters:
parent - le component parent
component - le component à centrer

initNimbusLoookAndFeel

public static void initNimbusLoookAndFeel()
                                   throws javax.swing.UnsupportedLookAndFeelException,
                                          java.lang.ClassNotFoundException,
                                          java.lang.InstantiationException,
                                          java.lang.IllegalAccessException
Try to load the Nimbus look and feel.

Throws:
javax.swing.UnsupportedLookAndFeelException - if nimbus is not applicable
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

loadUIConfig

public static void loadUIConfig(java.lang.String defaultUIConfig,
                                java.lang.String extraUIConfig)
                         throws java.io.IOException
Load the ui.properties file and set in UIManager colors and icons found.

Parameters:
defaultUIConfig - le path vers le fichier de la config d'ui par défaut (doit etre dansle class-path)
extraUIConfig - le path vers une surcharge de la config d'ui (doit etre dans le class-path)
Throws:
java.io.IOException - if could not load the ui.properties file

newTabbedPaneIterator

public static SwingUtil.TabbedPaneIterator<java.awt.Component> newTabbedPaneIterator(javax.swing.JTabbedPane tabs)
Iterate the components of a JTabbedPane in natural order.

Says using method Container.getComponent(int)

Parameters:
tabs - the
Returns:
the iterator
Since:
1.4

newLabel

public static javax.swing.JLabel newLabel(java.lang.String text,
                                          java.lang.Object iconKey,
                                          int aligment)

getDeepestObjectAt

public static java.awt.Component getDeepestObjectAt(java.awt.Component parent,
                                                    int x,
                                                    int y)
Gets the higest visible component in a ancestor hierarchy at specific x,y coordinates

Parameters:
parent -
x -
y -
Returns:
the deppest component

findComponentAt

public static java.awt.Component findComponentAt(java.awt.Container cont,
                                                 int width,
                                                 int height,
                                                 int x,
                                                 int y)

newDeleteCellRenderer

public static javax.swing.table.TableCellRenderer newDeleteCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer)

newBooleanTableCellRenderer

public static javax.swing.table.TableCellRenderer newBooleanTableCellRenderer(javax.swing.table.DefaultTableCellRenderer renderer)

newEmptyNumberTableCellRenderer

public static EmptyNumberTableCellRenderer newEmptyNumberTableCellRenderer(javax.swing.table.TableCellRenderer renderer)

newEnumTableCellRenderer

public static <E extends java.lang.Enum<E>> EnumTableCellRenderer<E> newEnumTableCellRenderer(javax.swing.table.TableCellRenderer renderer,
                                                                                              java.lang.Class<E> enumClass)

openLink

public static void openLink(javax.swing.event.HyperlinkEvent he)
Open a link coming from a HyperlinkEvent.

And try to open the link if an url in a browser.

Parameters:
he - the event to treate
Since:
1.6.0

expandTree

public static void expandTree(javax.swing.JTree tree)
Expand all childs of a tree.

Parameters:
tree - the tree to expand

addExpandOnClickListener

public static void addExpandOnClickListener(javax.swing.JTree tree)
Add a listener of tree selection model to expand a new selected node when it is selected.

Parameters:
tree - the tree to treate

setComponentWidth

public static void setComponentWidth(java.awt.Component component,
                                     int width)
Set the width of the given component

Parameters:
component - the component to resize
width - the new width to apply

setComponentHeight

public static void setComponentHeight(java.awt.Component component,
                                      int height)
Set the height of a given component.

Parameters:
component - the component to resize
height - the new height to apply

createIcon

public static javax.swing.ImageIcon createIcon(java.lang.String path)

createImageIcon

public static javax.swing.ImageIcon createImageIcon(java.lang.String path)
Parameters:
path - the location of icons in root directory icons
Returns:
the icon at getIconPath()+path

getUIManagerIcon

public static javax.swing.Icon getUIManagerIcon(java.lang.String key)
Parameters:
key - the key of the icon to retreave from UIManager
Returns:
the icon, or null if no icon found in UIManager

getUIManagerActionIcon

public static javax.swing.Icon getUIManagerActionIcon(java.lang.String key)
retreave for the UIManager the icon prefixed by action.

Parameters:
key - the key of the action icon to retreave from UIManager
Returns:
the icon, or null if no icon found in UIManager

createActionIcon

public static javax.swing.ImageIcon createActionIcon(java.lang.String name)

createI18nIcon

public static javax.swing.ImageIcon createI18nIcon(java.lang.String name)


Copyright © 2008-2009 CodeLutin. All Rights Reserved.