Methods Summary |
---|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent x)
return new SynthMenuUI();
|
private int | getComponentState(javax.swing.JComponent c)
int state;
if (!c.isEnabled()) {
return DISABLED;
}
if (menuItem.isArmed()) {
state = MOUSE_OVER;
}
else {
state = SynthLookAndFeel.getComponentState(c);
}
if (menuItem.isSelected()) {
state |= SELECTED;
}
return state;
|
private int | getComponentState(javax.swing.JComponent c, javax.swing.plaf.synth.Region region)
return getComponentState(c);
|
private javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, javax.swing.plaf.synth.Region region, int state)
return SynthContext.getContext(SynthContext.class, c,
region, accStyle, state);
|
public javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c)
return getContext(c, getComponentState(c));
|
javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, int state)
Region region = getRegion(c);
return SynthContext.getContext(SynthContext.class, c, region,
style, state);
|
public javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, javax.swing.plaf.synth.Region region)
return getContext(c, region, getComponentState(c, region));
|
protected java.awt.Dimension | getPreferredMenuItemSize(javax.swing.JComponent c, javax.swing.Icon checkIcon, javax.swing.Icon arrowIcon, int defaultTextIconGap)
SynthContext context = getContext(c);
SynthContext accContext = getContext(c, Region.MENU_ITEM_ACCELERATOR);
Dimension value = SynthMenuItemUI.getPreferredMenuItemSize(
context, accContext, useCheckAndArrow(), c, checkIcon,
arrowIcon, defaultTextIconGap, acceleratorDelimiter);
context.dispose();
accContext.dispose();
return value;
|
private javax.swing.plaf.synth.Region | getRegion(javax.swing.JComponent c)
return SynthLookAndFeel.getRegion(c);
|
protected void | installDefaults()
updateStyle(menuItem);
|
protected void | installListeners()
super.installListeners();
menuItem.addPropertyChangeListener(this);
|
public void | paint(java.awt.Graphics g, javax.swing.JComponent c)
SynthContext context = getContext(c);
paint(context, g);
context.dispose();
|
protected void | paint(javax.swing.plaf.synth.SynthContext context, java.awt.Graphics g)
SynthContext accContext = getContext(menuItem,
Region.MENU_ITEM_ACCELERATOR);
SynthStyle style = context.getStyle();
// Refetch the icons so that we get the right ones for the current
// state.
String prefix = getPropertyPrefix();
Icon arrowIcon = style.getIcon(context, prefix + ".arrowIcon");
Icon checkIcon = style.getIcon(context, prefix + ".checkIcon");
SynthMenuItemUI.paint(context, accContext, g, checkIcon, arrowIcon,
useCheckAndArrow(), acceleratorDelimiter,
defaultTextIconGap);
accContext.dispose();
|
public void | paintBorder(javax.swing.plaf.synth.SynthContext context, java.awt.Graphics g, int x, int y, int w, int h)
context.getPainter().paintMenuBorder(context, g, x, y, w, h);
|
public void | propertyChange(java.beans.PropertyChangeEvent e)
if (SynthLookAndFeel.shouldUpdateStyle(e)) {
updateStyle((JMenu)e.getSource());
}
|
protected void | uninstallDefaults()
SynthContext context = getContext(menuItem, ENABLED);
style.uninstallDefaults(context);
context.dispose();
style = null;
SynthContext accContext = getContext(menuItem,
Region.MENU_ITEM_ACCELERATOR, ENABLED);
accStyle.uninstallDefaults(accContext);
accContext.dispose();
accStyle = null;
super.uninstallDefaults();
|
protected void | uninstallListeners()
super.uninstallListeners();
menuItem.removePropertyChangeListener(this);
|
public void | update(java.awt.Graphics g, javax.swing.JComponent c)
SynthContext context = getContext(c);
SynthLookAndFeel.update(context, g);
context.getPainter().paintMenuBackground(context,
g, 0, 0, c.getWidth(), c.getHeight());
paint(context, g);
context.dispose();
|
private void | updateStyle(javax.swing.JMenuItem mi)
SynthStyle oldStyle = style;
SynthContext context = getContext(mi, ENABLED);
style = SynthLookAndFeel.updateStyle(context, this);
if (oldStyle != style) {
String prefix = getPropertyPrefix();
defaultTextIconGap = style.getInt(
context, prefix + ".textIconGap", 4);
if (menuItem.getMargin() == null ||
(menuItem.getMargin() instanceof UIResource)) {
Insets insets = (Insets)style.get(context, prefix + ".margin");
if (insets == null) {
// Some places assume margins are non-null.
insets = SynthLookAndFeel.EMPTY_UIRESOURCE_INSETS;
}
menuItem.setMargin(insets);
}
acceleratorDelimiter = style.getString(context, prefix +
".acceleratorDelimiter", "+");
arrowIcon = style.getIcon(context, prefix + ".arrowIcon");
checkIcon = style.getIcon(context, prefix + ".checkIcon");
((JMenu)menuItem).setDelay(style.getInt(context, prefix +
".delay", 200));
if (oldStyle != null) {
uninstallKeyboardActions();
installKeyboardActions();
}
}
context.dispose();
SynthContext accContext = getContext(mi, Region.MENU_ITEM_ACCELERATOR,
ENABLED);
accStyle = SynthLookAndFeel.updateStyle(accContext, this);
accContext.dispose();
|
private boolean | useCheckAndArrow()
return !((JMenu)menuItem).isTopLevelMenu();
|