Class JXComboBox.DelegatingRenderer

java.lang.Object
org.jdesktop.swingx.JXComboBox.DelegatingRenderer
All Implemented Interfaces:
ListCellRenderer, UIDependent, RolloverRenderer
Enclosing class:
JXComboBox

public class JXComboBox.DelegatingRenderer extends Object implements ListCellRenderer, RolloverRenderer, UIDependent
A decorator for the original ListCellRenderer. Needed to hook highlighters after messaging the delegate.

  • Field Details

  • Constructor Details

    • DelegatingRenderer

      public DelegatingRenderer()
      Instantiates a DelegatingRenderer with combo box'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 combo box's factory method.
      Parameters:
      delegate - the delegate to use, if null the combo box'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 combo box'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 all internal visuals after changing a UI-delegate.
      Specified by:
      updateUI in interface UIDependent
      See Also:
    • 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