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
Constructors Constructor Description ResetDTCRColorHighlighter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 interfaceHighlighter
- Overrides:
highlight
in classAbstractHighlighter
- Parameters:
renderer
- the component to highlightadapter
- 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 classColorHighlighter
- Parameters:
renderer
- the cell renderer component that is to be decoratedadapter
- 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 classColorHighlighter
- Parameters:
renderer
- the cell renderer component that is to be decoratedadapter
- the ComponentAdapter for this decorate operation
-
-