Class JXList.DelegatingRenderer

java.lang.Object
org.jdesktop.swingx.JXList.DelegatingRenderer
All Implemented Interfaces:
ListCellRenderer<E>, RolloverRenderer
Enclosing class:
JXList<E>

public class JXList.DelegatingRenderer extends Object implements ListCellRenderer<E>, RolloverRenderer
A decorator for the original ListCellRenderer. Needed to hook highlighters after messaging the delegate.

PENDING JW: formally implement UIDependent?

  • Constructor Details

    • DelegatingRenderer

      public DelegatingRenderer()
      Instantiates a DelegatingRenderer with default renderer as delegate.
    • DelegatingRenderer

      public DelegatingRenderer(ListCellRenderer<E> delegate)
      Instantiates a DelegatingRenderer with the given delegate. If the delegate is null, the default is created via the factory method.
      Parameters:
      delegate - the delegate to use, if null the default is created and used.
  • Method Details

    • setDelegateRenderer

      public void setDelegateRenderer(ListCellRenderer<? super E> 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 default is created and used.
    • getDelegateRenderer

      public ListCellRenderer<? super E> 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<? extends E> list, E 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<E>
    • 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