Module java.desktop

Class BasicMenuItemUI

Direct Known Subclasses:
BasicCheckBoxMenuItemUI, BasicMenuUI, BasicRadioButtonMenuItemUI, SynthMenuItemUI

public class BasicMenuItemUI extends MenuItemUI
BasicMenuItem implementation
  • Field Details

    • selectionBackground

      protected Color selectionBackground
      The color of the selection background.
    • selectionForeground

      protected Color selectionForeground
      The color of the selection foreground.
    • disabledForeground

      protected Color disabledForeground
      The color of the disabled foreground.
    • acceleratorForeground

      protected Color acceleratorForeground
      The color of the accelerator foreground.
    • acceleratorSelectionForeground

      protected Color acceleratorSelectionForeground
      The color of the accelerator selection.
    • acceleratorDelimiter

      protected String acceleratorDelimiter
      Accelerator delimiter string, such as '+' in 'Ctrl+C'.
      Since:
      1.7
    • defaultTextIconGap

      protected int defaultTextIconGap
      The gap between the text and the icon.
    • acceleratorFont

      protected Font acceleratorFont
      The accelerator font.
    • mouseInputListener

      protected MouseInputListener mouseInputListener
      The instance of MouseInputListener.
    • propertyChangeListener

      protected PropertyChangeListener propertyChangeListener
      PropertyChangeListener returned from createPropertyChangeListener. You should not need to access this field, rather if you want to customize the PropertyChangeListener override createPropertyChangeListener.
      Since:
      1.6
      See Also:
      createPropertyChangeListener(javax.swing.JComponent)
    • arrowIcon

      protected Icon arrowIcon
      The arrow icon.
    • checkIcon

      protected Icon checkIcon
      The check icon.
    • oldBorderPainted

      protected boolean oldBorderPainted
      The value represents if the old border is painted.
  • Constructor Details

    • BasicMenuItemUI

      public BasicMenuItemUI()
      Constructs a BasicMenuItemUI.
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent c)
      Returns a new instance of BasicMenuItemUI.
      Parameters:
      c - a component
      Returns:
      a new instance of BasicMenuItemUI
    • installDefaults

      protected void installDefaults()
      Installs default properties.
    • installComponents

      protected void installComponents(JMenuItem menuItem)
      Parameters:
      menuItem - a menu item
      Since:
      1.3
    • getPropertyPrefix

      protected String getPropertyPrefix()
      Returns a property prefix.
      Returns:
      a property prefix
    • installListeners

      protected void installListeners()
      Registers listeners.
    • installKeyboardActions

      protected void installKeyboardActions()
      Registers keyboard action.
    • uninstallDefaults

      protected void uninstallDefaults()
      Uninstalls default properties.
    • uninstallComponents

      protected void uninstallComponents(JMenuItem menuItem)
      Unregisters components.
      Parameters:
      menuItem - a menu item
      Since:
      1.3
    • uninstallListeners

      protected void uninstallListeners()
      Unregisters listeners.
    • uninstallKeyboardActions

      protected void uninstallKeyboardActions()
      Unregisters keyboard actions.
    • createMouseInputListener

      protected MouseInputListener createMouseInputListener(JComponent c)
      Returns an instance of MouseInputListener.
      Parameters:
      c - a component
      Returns:
      an instance of MouseInputListener
    • createMenuDragMouseListener

      protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
      Returns an instance of MenuDragMouseListener.
      Parameters:
      c - a component
      Returns:
      an instance of MenuDragMouseListener
    • createMenuKeyListener

      protected MenuKeyListener createMenuKeyListener(JComponent c)
      Returns an instance of MenuKeyListener.
      Parameters:
      c - a component
      Returns:
      an instance of MenuKeyListener
    • createPropertyChangeListener

      protected PropertyChangeListener createPropertyChangeListener(JComponent c)
      Creates a PropertyChangeListener which will be added to the menu item. If this method returns null then it will not be added to the menu item.
      Parameters:
      c - a component
      Returns:
      an instance of a PropertyChangeListener or null
      Since:
      1.6
    • getPreferredMenuItemSize

      protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
      Returns the preferred size of a menu item.
      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)
      We draw the background in paintMenuItem() so override update (which fills the background of opaque components by default) to just call paint().
      Overrides:
      update in class ComponentUI
      Parameters:
      g - the Graphics context in which to paint
      c - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      See Also:
      ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent), JComponent.paintComponent(java.awt.Graphics)
    • paintMenuItem

      protected void paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
      Paints a menu item.
      Parameters:
      g - an instance of Graphics
      c - a component
      checkIcon - a check icon
      arrowIcon - an arrow icon
      background - a background color
      foreground - a foreground color
      defaultTextIconGap - a gap between a text and an icon
    • paintBackground

      protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
      Draws the background of the menu item.
      Parameters:
      g - the paint graphics
      menuItem - menu item to be painted
      bgColor - selection background color
      Since:
      1.4
    • paintText

      protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
      Renders the text of the current menu item.
      Parameters:
      g - graphics context
      menuItem - menu item to render
      textRect - bounding rectangle for rendering the text
      text - string to render
      Since:
      1.4
    • getPath

      public MenuElement[] getPath()
      Returns a menu element path.
      Returns:
      a menu element path
    • doClick

      protected void doClick(MenuSelectionManager msm)
      Call this method when a menu item is to be activated. This method handles some of the details of menu item activation such as clearing the selected path and messaging the JMenuItem's doClick() method.
      Parameters:
      msm - A MenuSelectionManager. The visual feedback and internal bookkeeping tasks are delegated to this MenuSelectionManager. If null is passed as this argument, the MenuSelectionManager.defaultManager is used.
      Since:
      1.4
      See Also:
      MenuSelectionManager, AbstractButton.doClick(int)