Class SynthXListUI

  • All Implemented Interfaces:
    javax.swing.plaf.synth.SynthConstants, SynthUI

    public class SynthXListUI
    extends BasicXListUI
    implements javax.swing.plaf.synth.SynthConstants, SynthUI
    TODO add type doc
    Author:
    Jeanette Winzenburg
    • Constructor Detail

      • SynthXListUI

        public SynthXListUI()
    • Method Detail

      • createUI

        public static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent list)
        Returns a new instance of SynthXListUI. SynthXListUI delegates are allocated one per JList.
        Returns:
        A new ListUI implementation for the Synth look and feel.
      • update

        public void update​(java.awt.Graphics g,
                           javax.swing.JComponent c)

        Overridden to fill background, Synth-style.

        Overrides:
        update in class javax.swing.plaf.ComponentUI
      • createPropertyChangeListener

        protected java.beans.PropertyChangeListener createPropertyChangeListener()
        Creates an instance of PropertyChangeHandler that's added to the JList by installUI(). Subclasses can override this method to return a custom PropertyChangeListener, e.g.
         class MyListUI extends BasicXListUI {
            protected PropertyChangeListener createPropertyChangeListener() {
                return new MyPropertyChangeListener();
            }
            public class MyPropertyChangeListener extends PropertyChangeHandler {
                public void propertyChange(PropertyChangeEvent e) {
                    if (e.getPropertyName().equals("model")) {
                        // do some extra work when the model changes
                    }
                    super.propertyChange(e);
                }
            }
         }
         

        Overridden to update style if appropriate.

        Overrides:
        createPropertyChangeListener in class BasicXListUI
        See Also:
        PropertyChangeListener, BasicXListUI.installUI(javax.swing.JComponent)
      • installDefaults

        protected void installDefaults()
        Initialize JList properties, e.g. font, foreground, and background, and add the CellRendererPane. The font, foreground, and background properties are only set if their current value is either null or a UIResource, other properties are set if the current value is null.

        Overridden to install properties, Synth-style.

        Overrides:
        installDefaults in class BasicXListUI
        See Also:
        BasicXListUI.uninstallDefaults(), BasicXListUI.installUI(javax.swing.JComponent), CellRendererPane
      • installSynthBorder

        protected void installSynthBorder()
        Installs a SynthBorder from the current style, if ui-installable.
        Parameters:
        context - the context
      • paintBorder

        public void paintBorder​(javax.swing.plaf.synth.SynthContext context,
                                java.awt.Graphics g,
                                int x,
                                int y,
                                int w,
                                int h)
        Paints border with the context's style's painter. Implemented for SynthUI interface.
        Specified by:
        paintBorder in interface SynthUI
      • getContext

        public javax.swing.plaf.synth.SynthContext getContext​(javax.swing.JComponent c)

        Returns a context for the component's current state. Implemented for SynthUI interface.

        PENDING JW: not entirely sure if allowed ... but need to replace SynthUI anyway?.

        Specified by:
        getContext in interface SynthUI
        Throws:
        java.lang.IllegalArgumentException - if the component is not controlled by this delegate