swingx
Version 2009-07-31

org.jdesktop.swingx
Class JXList.DelegatingRenderer

java.lang.Object
  extended by org.jdesktop.swingx.JXList.DelegatingRenderer
All Implemented Interfaces:
ListCellRenderer, RolloverRenderer
Enclosing class:
JXList

public class JXList.DelegatingRenderer
extends Object
implements ListCellRenderer, RolloverRenderer

A decorator for the original ListCellRenderer. Needed to hook highlighters after messaging the delegate.

PENDING JW: formally implement UIDependent?


Constructor Summary
JXList.DelegatingRenderer()
          Instantiates a DelegatingRenderer with list's default renderer as delegate.
JXList.DelegatingRenderer(ListCellRenderer delegate)
          Instantiates a DelegatingRenderer with the given delegate.
 
Method Summary
 void doClick()
          Same as AbstractButton.doClick().
 ListCellRenderer getDelegateRenderer()
          Returns the delegate.
 Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
           Overridden to apply the highlighters, if any, after calling the delegate.
 boolean isEnabled()
          
 void setDelegateRenderer(ListCellRenderer delegate)
          Sets the delegate.
 void updateUI()
          Updates the ui of the delegate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JXList.DelegatingRenderer

public JXList.DelegatingRenderer()
Instantiates a DelegatingRenderer with list's default renderer as delegate.


JXList.DelegatingRenderer

public JXList.DelegatingRenderer(ListCellRenderer delegate)
Instantiates a DelegatingRenderer with the given delegate. If the delegate is null, the default is created via the list's factory method.

Parameters:
delegate - the delegate to use, if null the list's default is created and used.
Method Detail

setDelegateRenderer

public void setDelegateRenderer(ListCellRenderer delegate)
Sets the delegate. If the delegate is null, the default is created via the list's factory method.

Parameters:
delegate - the delegate to use, if null the list's default is created and used.

getDelegateRenderer

public ListCellRenderer getDelegateRenderer()
Returns the delegate.

Returns:
the delegate renderer used by this renderer, guaranteed to not-null.

updateUI

public void updateUI()
Updates the ui of the delegate.


getListCellRendererComponent

public Component getListCellRendererComponent(JList list,
                                              Object value,
                                              int index,
                                              boolean isSelected,
                                              boolean cellHasFocus)

Overridden to apply the highlighters, if any, after calling the delegate. The decorators are not applied if the row is invalid.

Specified by:
getListCellRendererComponent in interface ListCellRenderer

isEnabled

public boolean isEnabled()

Specified by:
isEnabled in interface RolloverRenderer
Returns:
true if rollover effects are on and clickable.

doClick

public void doClick()
Same as AbstractButton.doClick(). It's up to client code to prepare the renderer's component before calling this method.

Specified by:
doClick in interface RolloverRenderer

swingx
Version 2009-07-31