com.birosoft.liquid
Class LiquidMenuItemUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.ButtonUI
          extended by javax.swing.plaf.MenuItemUI
              extended by com.birosoft.liquid.LiquidMenuItemUI
Direct Known Subclasses:
LiquidCheckBoxMenuItemUI, LiquidMenuUI, LiquidRadioButtonMenuItemUI

public class LiquidMenuItemUI
extends javax.swing.plaf.MenuItemUI

LiquidMenuItemUI implementation


Nested Class Summary
static class LiquidMenuItemUI.EmptyIcon
           
protected  class LiquidMenuItemUI.MouseInputHandler
           
 
Field Summary
protected  java.awt.Font acceleratorFont
           
protected  java.awt.Color acceleratorForeground
           
protected  java.awt.Color acceleratorSelectionForeground
           
protected  javax.swing.Icon arrowIcon
           
protected  javax.swing.Icon checkIcon
           
protected static int defaultIconGap
           
protected static int defaultTextIconGap
           
protected  java.awt.Color disabledForeground
           
protected  javax.swing.event.MenuDragMouseListener menuDragMouseListener
           
protected  javax.swing.JMenuItem menuItem
           
protected  javax.swing.event.MenuKeyListener menuKeyListener
           
protected  javax.swing.event.MouseInputListener mouseInputListener
           
protected  boolean oldBorderPainted
           
protected  javax.swing.Icon selArrowIcon
           
protected  java.awt.Color selectionBackground
           
protected  java.awt.Color selectionForeground
           
 
Constructor Summary
LiquidMenuItemUI()
           
 
Method Summary
protected  javax.swing.event.MenuDragMouseListener createMenuDragMouseListener(javax.swing.JComponent c)
           
protected  javax.swing.event.MenuKeyListener createMenuKeyListener(javax.swing.JComponent c)
           
protected  javax.swing.event.MouseInputListener createMouseInputListener(javax.swing.JComponent c)
           
static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
           
protected  void doClick(javax.swing.MenuSelectionManager msm)
          Call this method when a menu item is to be activated.
 java.awt.Dimension getMaximumSize(javax.swing.JComponent c)
           
 java.awt.Dimension getMinimumSize(javax.swing.JComponent c)
           
 javax.swing.MenuElement[] getPath()
           
protected  java.awt.Dimension getPreferredMenuItemSize(javax.swing.JComponent c, javax.swing.Icon checkIcon, javax.swing.Icon arrowIcon, int defaultTextIconGap)
           
 java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
           
protected  java.lang.String getPropertyPrefix()
           
protected  void installComponents(javax.swing.JMenuItem menuItem)
           
protected  void installDefaults()
           
protected  void installKeyboardActions()
           
protected  void installListeners()
           
 void installUI(javax.swing.JComponent c)
           
 void paint(java.awt.Graphics g, javax.swing.JComponent c)
           
protected  void paintBackground(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Color bgColor)
          Draws the background of the menu item.
protected  void paintMenuItem(java.awt.Graphics g, javax.swing.JComponent c, javax.swing.Icon checkIcon, javax.swing.Icon arrowIcon, java.awt.Color background, java.awt.Color foreground, int defaultTextIconGap)
           
protected  void paintText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, java.lang.String text)
          Renders the text of the current menu item.
protected  void uninstallComponents(javax.swing.JMenuItem menuItem)
           
protected  void uninstallDefaults()
           
protected  void uninstallKeyboardActions()
           
protected  void uninstallListeners()
           
 void uninstallUI(javax.swing.JComponent c)
           
 void update(java.awt.Graphics g, javax.swing.JComponent c)
          We draw the background in paintMenuItem() so override update (which fills the background of opaque components by default) to just call paint().
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultTextIconGap

protected static int defaultTextIconGap

defaultIconGap

protected static int defaultIconGap

menuItem

protected javax.swing.JMenuItem menuItem

selectionBackground

protected java.awt.Color selectionBackground

selectionForeground

protected java.awt.Color selectionForeground

disabledForeground

protected java.awt.Color disabledForeground

acceleratorForeground

protected java.awt.Color acceleratorForeground

acceleratorSelectionForeground

protected java.awt.Color acceleratorSelectionForeground

acceleratorFont

protected java.awt.Font acceleratorFont

mouseInputListener

protected javax.swing.event.MouseInputListener mouseInputListener

menuDragMouseListener

protected javax.swing.event.MenuDragMouseListener menuDragMouseListener

menuKeyListener

protected javax.swing.event.MenuKeyListener menuKeyListener

arrowIcon

protected javax.swing.Icon arrowIcon

selArrowIcon

protected javax.swing.Icon selArrowIcon

checkIcon

protected javax.swing.Icon checkIcon

oldBorderPainted

protected boolean oldBorderPainted
Constructor Detail

LiquidMenuItemUI

public LiquidMenuItemUI()
Method Detail

installUI

public void installUI(javax.swing.JComponent c)
Overrides:
installUI in class javax.swing.plaf.ComponentUI

installComponents

protected void installComponents(javax.swing.JMenuItem menuItem)
Since:
1.3

getPropertyPrefix

protected java.lang.String getPropertyPrefix()

installListeners

protected void installListeners()

installKeyboardActions

protected void installKeyboardActions()

uninstallUI

public void uninstallUI(javax.swing.JComponent c)
Overrides:
uninstallUI in class javax.swing.plaf.ComponentUI

uninstallDefaults

protected void uninstallDefaults()

uninstallComponents

protected void uninstallComponents(javax.swing.JMenuItem menuItem)
Since:
1.3

uninstallListeners

protected void uninstallListeners()

uninstallKeyboardActions

protected void uninstallKeyboardActions()

createMouseInputListener

protected javax.swing.event.MouseInputListener createMouseInputListener(javax.swing.JComponent c)

createMenuDragMouseListener

protected javax.swing.event.MenuDragMouseListener createMenuDragMouseListener(javax.swing.JComponent c)

createMenuKeyListener

protected javax.swing.event.MenuKeyListener createMenuKeyListener(javax.swing.JComponent c)

getMinimumSize

public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)
Overrides:
getMinimumSize in class javax.swing.plaf.ComponentUI

getPreferredSize

public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
Overrides:
getPreferredSize in class javax.swing.plaf.ComponentUI

paintText

protected void paintText(java.awt.Graphics g,
                         javax.swing.JMenuItem menuItem,
                         java.awt.Rectangle textRect,
                         java.lang.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

getMaximumSize

public java.awt.Dimension getMaximumSize(javax.swing.JComponent c)
Overrides:
getMaximumSize in class javax.swing.plaf.ComponentUI

update

public void update(java.awt.Graphics g,
                   javax.swing.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 javax.swing.plaf.ComponentUI

paint

public void paint(java.awt.Graphics g,
                  javax.swing.JComponent c)
Overrides:
paint in class javax.swing.plaf.ComponentUI

getPath

public javax.swing.MenuElement[] getPath()

doClick

protected void doClick(javax.swing.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)

createUI

public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)

installDefaults

protected void installDefaults()

getPreferredMenuItemSize

protected java.awt.Dimension getPreferredMenuItemSize(javax.swing.JComponent c,
                                                      javax.swing.Icon checkIcon,
                                                      javax.swing.Icon arrowIcon,
                                                      int defaultTextIconGap)

paintMenuItem

protected void paintMenuItem(java.awt.Graphics g,
                             javax.swing.JComponent c,
                             javax.swing.Icon checkIcon,
                             javax.swing.Icon arrowIcon,
                             java.awt.Color background,
                             java.awt.Color foreground,
                             int defaultTextIconGap)

paintBackground

protected void paintBackground(java.awt.Graphics g,
                               javax.swing.JMenuItem menuItem,
                               java.awt.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