Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.renderer
Class DefaultVisuals<T extends javax.swing.JComponent>

    java.lang.Object
      org.jdesktop.swingx.renderer.DefaultVisuals<T>

All Implemented Interfaces:
  java.io.Serializable

    public class DefaultVisuals<T extends javax.swing.JComponent>

extends java.lang.Object
implements java.io.Serializable

Encapsulates the default visual configuration of renderering components, respecting the state of the passed-in `CellContext`. It's basically re-usable across all types of renderees (JTable, JList, JTree).

Guarantees to completely configure the default visual properties (listed below) of a given component. As a consequence, client code (f.i. in `Highlighter`s) can safely change them without long-lasting visual artefacts.

- foreground and background, depending on selected and focused state
- border
- font
- Painter (if applicable)
- enabled
- componentOrientation
- toolTipText
- minimum-, maximum-, preferredSize
- name

Client code will rarely need to be aware of this class. It's the single place to change on introduction of new properties considered as belonging to the "default visuals" of rendering components.

PENDING: allow mutators for overruling the `CellContext`s defaults? Would prefer not to, as in the context of SwingX visual config on the renderer level is discouraged (the way to go are `Highlighter`s.

PENDING: not yet quite decided whether the toolTipText property belongs into the visual default config. Doing so gives client code the choice to set it either in a Highlighter or a custom ComponentProvider.

Author:
  Jeanette Winzenburg
See Also:
  `CellContext`, Serialized Form

Constructor Summary
`DefaultVisuals()`

Method Summary
`protected void` | `configureBorder(T renderingComponent, CellContext context)` Configures the rendering component's border from the given cell context.
`protected void` | `configureColors(T renderingComponent, CellContext context)` Configures colors of rendering component from the given cell context.
`protected void` | `configureFocusColors(T renderingComponent, CellContext context)` Configures focus-related colors form given cell context.
`protected void` | `configurePainter(T renderingComponent, CellContext context)` Configures the default Painter if applicable.
`protected void` | `configureSizes(T renderingComponent, CellContext context)` Configures min-, max, preferredSize properties of the renderingComponent.
`protected void` | `configureState(T renderingComponent, CellContext context)` Configure "divers" visual state of the rendering component from the given cell context.
`void` | `configureVisuals(T renderingComponent, CellContext context)` Configures all default visual state of the rendering component from the given cell context.
`protected java.awt.Color` | `getBackground(CellContext context)` Returns the unselected background to use for the rendering component.
`protected java.awt.Color` | `getForeground(CellContext context)` Returns the unselected foreground to use for the rendering component.
`void` | `setBackground(java.awt.Color c)` Sets the renderer's unselected-background color to the specified color.
`void` | `setForeground(java.awt.Color c)` Sets the renderer's unselected-foreground color to the specified color.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DefaultVisuals

    public DefaultVisuals()

Method Detail

### setForeground

    public void setForeground(java.awt.Color c)

  Sets the renderer's unselected-foreground color to the specified color. If `not null` this color will overrule the default color of the CellContext.

  Parameters:
    `c` - set the foreground color to this value

### setBackground

    public void setBackground(java.awt.Color c)

  Sets the renderer's unselected-background color to the specified color. If `not null` this color will overrule the default color of the CellContext.

  Parameters:
    `c` - set the background color to this value

### configureVisuals

    public void configureVisuals(T renderingComponent,
                                 CellContext context)

  Configures all default visual state of the rendering component from the given cell context.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null
  Throws:
    `java.lang.NullPointerException` - if either renderingComponent or cellContext is null

### configurePainter

    protected void configurePainter(T renderingComponent,
                                    CellContext context)

  Configures the default Painter if applicable. Here: set's to null.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### configureState

    protected void configureState(T renderingComponent,
                                  CellContext context)

  Configure "divers" visual state of the rendering component from the given cell context.

  Here: synch `Font`, `ComponentOrientation` and `enabled` to context's component. Resets toolTipText to null. Calls configureSizes to reset xxSize if appropriate. Resets the component's name property.

  PENDING: not fully defined - "divers" means everything that's not `Color`s nor `Border` nor `Painter`.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### configureSizes

    protected void configureSizes(T renderingComponent,
                                  CellContext context)

  Configures min-, max, preferredSize properties of the renderingComponent. Here: set all to null.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### configureColors

    protected void configureColors(T renderingComponent,
                                   CellContext context)

  Configures colors of rendering component from the given cell context.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### configureFocusColors

    protected void configureFocusColors(T renderingComponent,
                                        CellContext context)

  Configures focus-related colors form given cell context.

  PENDING: move to context as well? - it's the only comp with focus specifics? Problem is the parameter type...

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### configureBorder

    protected void configureBorder(T renderingComponent,
                                   CellContext context)

  Configures the rendering component's border from the given cell context.

  Parameters:
    `renderingComponent` - the component to configure, must not be null
    `context` - the cell context to configure from, must not be null

### getForeground

    protected java.awt.Color getForeground(CellContext context)

  Returns the unselected foreground to use for the rendering component.

  Here: returns this renderer's unselected foreground is not null, returns the foreground from the given context. In other words: the renderer's foreground takes precedence if set.

  Parameters:
    `context` - the cell context.
  Returns:
    the unselected foreground.

### getBackground

    protected java.awt.Color getBackground(CellContext context)

  Returns the unselected background to use for the rendering component.

  Here: returns this renderer's unselected background is not null, returns the background from the given context. In other words: the renderer's background takes precedence if set.

  Parameters:
    `context` - the cell context.
  Returns:
    the unselected background.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.