Class SynthMenuItemUI

All Implemented Interfaces:
PropertyChangeListener, EventListener, SynthConstants, SynthUI
Direct Known Subclasses:
SynthCheckBoxMenuItemUI, SynthRadioButtonMenuItemUI

public class SynthMenuItemUI extends BasicMenuItemUI implements PropertyChangeListener, SynthUI
Provides the Synth L&F UI delegate for JMenuItem.
Since:
1.7
  • Constructor Details

    • SynthMenuItemUI

      public SynthMenuItemUI()
      Constructs a SynthMenuItemUI.
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent c)
      Creates a new UI object for the given component.
      Parameters:
      c - component to create UI object for
      Returns:
      the UI object
    • uninstallUI

      public void uninstallUI(JComponent c)
      Reverses configuration which was done on the specified component during installUI. This method is invoked when this UIComponent instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI, being careful to leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:
      1. Remove any UI-set borders from the component.
      2. Remove any UI-set layout managers on the component.
      3. Remove any UI-added sub-components from the component.
      4. Remove any UI-added event/property listeners from the component.
      5. Remove any UI-installed keyboard UI from the component.
      6. Nullify any allocated instance data objects to allow for GC.
      Overrides:
      uninstallUI in class BasicMenuItemUI
      Parameters:
      c - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      See Also:
    • installDefaults

      protected void installDefaults()
      Installs default properties.
      Overrides:
      installDefaults in class BasicMenuItemUI
    • installListeners

      protected void installListeners()
      Registers listeners.
      Overrides:
      installListeners in class BasicMenuItemUI
    • uninstallDefaults

      protected void uninstallDefaults()
      Uninstalls default properties.
      Overrides:
      uninstallDefaults in class BasicMenuItemUI
    • uninstallListeners

      protected void uninstallListeners()
      Unregisters listeners.
      Overrides:
      uninstallListeners in class BasicMenuItemUI
    • getContext

      public SynthContext getContext(JComponent c)
      Returns the Context for the specified component.
      Specified by:
      getContext in interface SynthUI
      Parameters:
      c - Component requesting SynthContext.
      Returns:
      SynthContext describing component.
    • getPreferredMenuItemSize

      protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
      Returns the preferred size of a menu item.
      Overrides:
      getPreferredMenuItemSize in class BasicMenuItemUI
      Parameters:
      c - a component
      checkIcon - a check icon
      arrowIcon - an arrow icon
      defaultTextIconGap - a gap between a text and an icon
      Returns:
      the preferred size of a menu item
    • update

      public void update(Graphics g, JComponent c)
      Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the paint(SynthContext,Graphics) method.

      In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the paint method.

      Overrides:
      update in class BasicMenuItemUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paint

      public void paint(Graphics g, JComponent c)
      Paints the specified component according to the Look and Feel.

      This method is not used by Synth Look and Feel. Painting is handled by the paint(SynthContext,Graphics) method.

      Overrides:
      paint in class BasicMenuItemUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paint

      protected void paint(SynthContext context, Graphics g)
      Paints the specified component.
      Parameters:
      context - context for the component being painted
      g - the Graphics object used for painting
      See Also:
    • paintBorder

      public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
      Paints the border.
      Specified by:
      paintBorder in interface SynthUI
      Parameters:
      context - a component context
      g - Graphics to paint on
      x - the X coordinate
      y - the Y coordinate
      w - width of the border
      h - height of the border
    • propertyChange

      public void propertyChange(PropertyChangeEvent e)
      This method gets called when a bound property is changed.
      Specified by:
      propertyChange in interface PropertyChangeListener
      Parameters:
      e - A PropertyChangeEvent object describing the event source and the property that has changed.