Class JXComboBox.DelegatingRenderer

  • All Implemented Interfaces:
    javax.swing.ListCellRenderer, UIDependent, RolloverRenderer
    Enclosing class:
    JXComboBox

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

    • Constructor Summary

      Constructors 
      Constructor Description
      DelegatingRenderer()
      Instantiates a DelegatingRenderer with combo box's default renderer as delegate.
      DelegatingRenderer​(javax.swing.ListCellRenderer delegate)
      Instantiates a DelegatingRenderer with the given delegate.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doClick()
      Same as AbstractButton.doClick().
      javax.swing.ListCellRenderer getDelegateRenderer()
      Returns the delegate.
      java.awt.Component getListCellRendererComponent​(javax.swing.JList list, java.lang.Object value, int index, boolean isSelected, boolean cellHasFocus)
      boolean isEnabled()
      void setDelegateRenderer​(javax.swing.ListCellRenderer delegate)
      Sets the delegate.
      void updateUI()
      Updates all internal visuals after changing a UI-delegate.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DelegatingRenderer

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

        public DelegatingRenderer​(javax.swing.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 Detail

      • setDelegateRenderer

        public void setDelegateRenderer​(javax.swing.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 javax.swing.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:
        JComponent.updateUI()
      • getListCellRendererComponent

        public java.awt.Component getListCellRendererComponent​(javax.swing.JList list,
                                                               java.lang.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 javax.swing.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