Methods Summary |
---|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent x)
return new WindowsMenuBarUI();
|
protected void | installKeyboardActions()
super.installKeyboardActions();
ActionMap map = SwingUtilities.getUIActionMap(menuBar);
if (map == null) {
map = new ActionMapUIResource();
SwingUtilities.replaceUIActionMap(menuBar, map);
}
map.put("takeFocus", new TakeFocus());
|
protected void | installListeners()
if (WindowsLookAndFeel.isOnVista()) {
installWindowListener();
hierarchyListener =
new HierarchyListener() {
public void hierarchyChanged(HierarchyEvent e) {
if ((e.getChangeFlags()
& HierarchyEvent.DISPLAYABILITY_CHANGED) != 0) {
if (menuBar.isDisplayable()) {
installWindowListener();
} else {
uninstallWindowListener();
}
}
}
};
menuBar.addHierarchyListener(hierarchyListener);
}
super.installListeners();
|
private void | installWindowListener()
if (windowListener == null) {
Component component = menuBar.getTopLevelAncestor();
if (component instanceof Window) {
window = (Window) component;
windowListener = new WindowAdapter() {
@Override
public void windowActivated(WindowEvent e) {
menuBar.repaint();
}
@Override
public void windowDeactivated(WindowEvent e) {
menuBar.repaint();
}
};
((Window) component).addWindowListener(windowListener);
}
}
|
static boolean | isActive(javax.swing.JComponent c)Checks if component belongs to an active window.
JRootPane rootPane = c.getRootPane();
if (rootPane != null) {
Component component = rootPane.getParent();
if (component instanceof Window) {
return ((Window) component).isActive();
}
}
return true;
|
public void | paint(java.awt.Graphics g, javax.swing.JComponent c)
if (WindowsMenuItemUI.isVistaPainting()) {
XPStyle xp = XPStyle.getXP();
Skin skin;
skin = xp.getSkin(c, Part.MP_BARBACKGROUND);
int width = c.getWidth();
int height = c.getHeight();
State state = isActive(c) ? State.ACTIVE : State.INACTIVE;
skin.paintSkin(g, 0, 0, width, height, state);
} else {
super.paint(g, c);
}
|
protected void | uninstallListeners()
uninstallWindowListener();
if (hierarchyListener != null) {
menuBar.removeHierarchyListener(hierarchyListener);
hierarchyListener = null;
}
super.uninstallListeners();
|
private void | uninstallWindowListener()
if (windowListener != null && window != null) {
window.removeWindowListener(windowListener);
}
window = null;
windowListener = null;
|