Class DefaultTableRenderer

java.lang.Object
org.jdesktop.swingx.renderer.AbstractRenderer
org.jdesktop.swingx.renderer.DefaultTableRenderer
All Implemented Interfaces:
Serializable, TableCellRenderer, UIDependent, 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()));
 
Author:
Jeanette Winzenburg
See Also:
  • Constructor Details

    • DefaultTableRenderer

      public DefaultTableRenderer()
      Instantiates a default table renderer with the default component provider.
      See Also:
    • 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

      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.
      alignment - the horizontal alignment.
      See Also:
    • 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 Details

    • 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.

      Note: The component's name is set to "Table.cellRenderer" for the sake of Synth-based LAFs.

      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
    • createDefaultComponentProvider

      protected ComponentProvider<?> createDefaultComponentProvider()
      The default ComponentProvider to use if no special.
      Specified by:
      createDefaultComponentProvider in class AbstractRenderer
      Returns:
      the default ComponentProvider