Class JXList.DelegatingRenderer

java.lang.Object
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?

  • Field Details

  • Constructor Details

    • DelegatingRenderer

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

      public 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 Details

    • 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.
    • updateRendererUI

      private void updateRendererUI(ListCellRenderer renderer)
      Parameters:
      renderer - the renderer to update the ui of.
    • 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