org.jdesktop.swingx.renderer
Class DefaultTableRenderer

java.lang.Object
  extended by org.jdesktop.swingx.renderer.AbstractRenderer
      extended by org.jdesktop.swingx.renderer.DefaultTableRenderer
All Implemented Interfaces:
Serializable, TableCellRenderer, StringValue, RolloverRenderer

public class DefaultTableRenderer
extends AbstractRenderer
implements TableCellRenderer

Adapter to glue SwingX renderer support to core api. It has convenience constructors to create a LabelProvider, optionally configured with a StringValue and horizontal alignment. Typically, client code does not interact with this class except at instantiation time.

JXTable uses instances of this as per-class default renderers.


 setDefaultRenderer(Object.class, new DefaultTableRenderer());
 setDefaultRenderer(Number.class, new DefaultTableRenderer(
         FormatStringValues.NUMBER_TO_STRING, JLabel.RIGHT));
 setDefaultRenderer(Date.class, new DefaultTableRenderer(
         FormatStringValues.DATE_TO_STRING));
 // use the same center aligned default for Image/Icon
 TableCellRenderer renderer = new DefaultTableRenderer(new MappedValue(
         StringValues.EMPTY, IconValues.ICON), JLabel.CENTER);
 setDefaultRenderer(Icon.class, renderer);
 setDefaultRenderer(ImageIcon.class, renderer);
 // use a CheckBoxProvider for booleans
 setDefaultRenderer(Boolean.class,
         new DefaultTableRenderer(new CheckBoxProvider()));
 

See Also:
ComponentProvider, LabelProvider, StringValue, IconValue, MappedValue, CellContext, Serialized Form

Field Summary
 
Fields inherited from class org.jdesktop.swingx.renderer.AbstractRenderer
componentController
 
Constructor Summary
DefaultTableRenderer()
          Instantiates a default table renderer with the default component provider.
DefaultTableRenderer(ComponentProvider<?> componentProvider)
          Instantiates a default table renderer with the given component provider.
DefaultTableRenderer(StringValue converter)
          Instantiates a default table renderer with a default component provider using the given converter.
DefaultTableRenderer(StringValue stringValue, IconValue iconValue)
          Intantiates a default table renderer with default component provider using both converters.
DefaultTableRenderer(StringValue stringValue, IconValue iconValue, int alignment)
          Intantiates a default table renderer with default component provider using both converters and the given alignment.
DefaultTableRenderer(StringValue converter, int alignment)
          Instantiates a default table renderer with a default component provider using the given converter and horizontal alignment.
 
Method Summary
protected  ComponentProvider<?> createDefaultComponentProvider()
          The default ComponentProvider to use if no special.
 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          Returns a configured component, appropriate to render the given list cell.
 
Methods inherited from class org.jdesktop.swingx.renderer.AbstractRenderer
doClick, getComponentProvider, getString, isEnabled, setBackground, setForeground
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultTableRenderer

public DefaultTableRenderer()
Instantiates a default table renderer with the default component provider.

See Also:
DefaultTableRenderer(ComponentProvider)

DefaultTableRenderer

public DefaultTableRenderer(ComponentProvider<?> componentProvider)
Instantiates a default table renderer with the given component provider. If the controller is null, creates and uses a default. The default provider is of type LabelProvider.

Parameters:
componentProvider - the provider of the configured component to use for cell rendering

DefaultTableRenderer

public DefaultTableRenderer(StringValue converter)
Instantiates a default table renderer with a default component provider using the given converter.

Parameters:
converter - the converter to use for mapping the content value to a String representation.
See Also:
DefaultTableRenderer(ComponentProvider)

DefaultTableRenderer

public DefaultTableRenderer(StringValue converter,
                            int alignment)
Instantiates a default table renderer with a default component provider using the given converter and horizontal alignment.

Parameters:
converter - the converter to use for mapping the content value to a String representation.
See Also:
DefaultTableRenderer(ComponentProvider)

DefaultTableRenderer

public DefaultTableRenderer(StringValue stringValue,
                            IconValue iconValue)
Intantiates a default table renderer with default component provider using both converters.

Parameters:
stringValue - the converter to use for the string representation
iconValue - the converter to use for the icon representation

DefaultTableRenderer

public DefaultTableRenderer(StringValue stringValue,
                            IconValue iconValue,
                            int alignment)
Intantiates a default table renderer with default component provider using both converters and the given alignment.

Parameters:
stringValue - the converter to use for the string representation
iconValue - the converter to use for the icon representation
alignment - the rendering component's horizontal alignment
Method Detail

getTableCellRendererComponent

public Component getTableCellRendererComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               boolean hasFocus,
                                               int row,
                                               int column)
Returns a configured component, appropriate to render the given list cell.

Specified by:
getTableCellRendererComponent in interface TableCellRenderer
Parameters:
table - the JTable
value - the value to assign to the cell at [row, column]
isSelected - true if cell is selected
hasFocus - true if cell has focus
row - the row of the cell to render
column - the column of the cell to render
Returns:
the default table cell renderer
See Also:
JComponent.isPaintingForPrint()

createDefaultComponentProvider

protected ComponentProvider<?> createDefaultComponentProvider()
The default ComponentProvider to use if no special.

Specified by:
createDefaultComponentProvider in class AbstractRenderer
Returns:
the default ComponentProvider