WindowsMenuItemUIpublic class WindowsMenuItemUI extends BasicMenuItemUI Windows rendition of the component.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is appropriate
for short term storage or RMI between applications running the same
version of Swing. A future release of Swing will provide support for
long term persistence. |
Fields Summary |
---|
final WindowsMenuItemUIAccessor | accessor |
Methods Summary |
---|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent c)
return new WindowsMenuItemUI();
| static Part | getPart(WindowsMenuItemUIAccessor menuItemUI, javax.swing.JMenuItem menuItem)
return Part.MP_POPUPITEM;
| static State | getState(WindowsMenuItemUIAccessor menuItemUI, javax.swing.JMenuItem menuItem)
State state;
ButtonModel model = menuItem.getModel();
if (model.isArmed()) {
state = (model.isEnabled()) ? State.HOT : State.DISABLEDHOT;
} else {
state = (model.isEnabled()) ? State.NORMAL : State.DISABLED;
}
return state;
| static boolean | isVistaPainting()
XPStyle xp = XPStyle.getXP();
return xp != null && xp.isSkinDefined(null, Part.MP_POPUPITEM);
| protected void | paintBackground(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Color bgColor)
if (WindowsMenuItemUI.isVistaPainting()) {
WindowsMenuItemUI.paintBackground(accessor, g, menuItem, bgColor);
return;
}
super.paintBackground(g, menuItem, bgColor);
| static void | paintBackground(WindowsMenuItemUIAccessor menuItemUI, java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Color bgColor)
assert isVistaPainting();
if (isVistaPainting()) {
int menuWidth = menuItem.getWidth();
int menuHeight = menuItem.getHeight();
if (menuItem.isOpaque()) {
Color oldColor = g.getColor();
g.setColor(menuItem.getBackground());
g.fillRect(0,0, menuWidth, menuHeight);
g.setColor(oldColor);
}
XPStyle xp = XPStyle.getXP();
Part part = menuItemUI.getPart(menuItem);
Skin skin = xp.getSkin(menuItem, part);
skin.paintSkin(g, 0 , 0,
menuWidth,
menuHeight,
menuItemUI.getState(menuItem));
}
| protected void | paintText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, java.lang.String text)Method which renders the text of the current menu item.
if (WindowsMenuItemUI.isVistaPainting()) {
WindowsMenuItemUI.paintText(accessor, g, menuItem, textRect, text);
return;
}
ButtonModel model = menuItem.getModel();
Color oldColor = g.getColor();
if(model.isEnabled() &&
(model.isArmed() || (menuItem instanceof JMenu &&
model.isSelected()))) {
g.setColor(selectionForeground); // Uses protected field.
}
WindowsGraphicsUtils.paintText(g, menuItem, textRect, text, 0);
g.setColor(oldColor);
| static void | paintText(WindowsMenuItemUIAccessor menuItemUI, java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, java.lang.String text)
assert isVistaPainting();
if (isVistaPainting()) {
State state = menuItemUI.getState(menuItem);
/* part of it copied from WindowsGraphicsUtils.java */
FontMetrics fm = SwingUtilities2.getFontMetrics(menuItem, g);
int mnemIndex = menuItem.getDisplayedMnemonicIndex();
// W2K Feature: Check to see if the Underscore should be rendered.
if (WindowsLookAndFeel.isMnemonicHidden() == true) {
mnemIndex = -1;
}
WindowsGraphicsUtils.paintXPText(menuItem,
menuItemUI.getPart(menuItem), state,
g, textRect.x,
textRect.y + fm.getAscent(),
text, mnemIndex);
}
|
|