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.decorator
Class ResetDTCRColorHighlighter

    java.lang.Object
      org.jdesktop.swingx.decorator.AbstractHighlighter
          org.jdesktop.swingx.decorator.ColorHighlighter
              org.jdesktop.swingx.decorator.ResetDTCRColorHighlighter

All Implemented Interfaces:
  Highlighter

    public class ResetDTCRColorHighlighter

extends ColorHighlighter

This is a hack around DefaultTableCellRenderer color "memory", see Issue #258-swingx.

The issue is that the default has internal color management which is different from other types of renderers. The consequence of the internal color handling is that there's a color memory which must be reset somehow. The "old" hack around reset the xxColors of all types of renderers to the adapter's target XXColors, introducing #178-swingx (Highlighgters must not change any colors except those for which their color properties are explicitly set).

This hack limits the interference to renderers of type DefaultTableCellRenderer, applying a hacking highlighter which resets the renderers XXColors to a previously "memorized" color. Note that setting the color to null didn't have the desired effect.

PENDING: extend ColorHighlighter

Field Summary

Fields inherited from class org.jdesktop.swingx.decorator.AbstractHighlighter
`listenerList`

Constructor Summary
`ResetDTCRColorHighlighter()`

Method Summary
`protected void` | `applyBackground(java.awt.Component renderer, ComponentAdapter adapter)` Applies a suitable background for the renderer component within the specified adapter.
`protected void` | `applyForeground(java.awt.Component renderer, ComponentAdapter adapter)` Applies a suitable foreground for the renderer component within the specified adapter.
`java.awt.Component` | `highlight(java.awt.Component renderer, ComponentAdapter adapter)` applies the memory hack for renderers of type DefaultTableCellRenderer, does nothing for other types.

Methods inherited from class org.jdesktop.swingx.decorator.ColorHighlighter
`doHighlight, getBackground, getForeground, getSelectedBackground, getSelectedForeground, isLegacy, setBackground, setForeground, setLegacy, setSelectedBackground, setSelectedForeground`

Methods inherited from class org.jdesktop.swingx.decorator.AbstractHighlighter
`addChangeListener, areEqual, canHighlight, fireStateChanged, getChangeListeners, getHighlightPredicate, removeChangeListener, setHighlightPredicate`

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

Constructor Detail

### ResetDTCRColorHighlighter

    public ResetDTCRColorHighlighter()

Method Detail

### highlight

    public java.awt.Component highlight(java.awt.Component renderer,
                                        ComponentAdapter adapter)

  applies the memory hack for renderers of type DefaultTableCellRenderer, does nothing for other types.

  Specified by:
    `highlight` in interface `Highlighter`
  Overrides:
    `highlight` in class `AbstractHighlighter`
  Parameters:
    `renderer` - the component to highlight
    `adapter` - the renderee's component state.
  Returns:
    the decorated cell rendering component
  See Also:
    `AbstractHighlighter.canHighlight(Component, ComponentAdapter)`, `AbstractHighlighter.doHighlight(Component, ComponentAdapter)`, `AbstractHighlighter.getHighlightPredicate()`

### applyBackground

    protected void applyBackground(java.awt.Component renderer,
                                   ComponentAdapter adapter)

  Description copied from class: `ColorHighlighter`
  Applies a suitable background for the renderer component within the specified adapter.

  This implementation applies its background or selectedBackground color (depending on the adapter's selected state) if != null. Otherwise it does nothing.

  Overrides:
    `applyBackground` in class `ColorHighlighter`
  Parameters:
    `renderer` - the cell renderer component that is to be decorated
    `adapter` - the ComponentAdapter for this decorate operation

### applyForeground

    protected void applyForeground(java.awt.Component renderer,
                                   ComponentAdapter adapter)

  Description copied from class: `ColorHighlighter`
  Applies a suitable foreground for the renderer component within the specified adapter.

  This implementation applies its foreground or selectedfForeground color (depending on the adapter's selected state) if != null. Otherwise it does nothing.

  Overrides:
    `applyForeground` in class `ColorHighlighter`
  Parameters:
    `renderer` - the cell renderer component that is to be decorated
    `adapter` - the ComponentAdapter for this decorate operation

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.