Class JXList.DelegatingRenderer

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

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

    PENDING JW: formally implement UIDependent?

    • Constructor Summary

      Constructors 
      Constructor Description
      DelegatingRenderer()
      Instantiates a DelegatingRenderer with list'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 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

      • DelegatingRenderer

        public DelegatingRenderer()
        Instantiates a DelegatingRenderer with list'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 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​(javax.swing.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 javax.swing.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 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