< prev index next >
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java
Print this page
@@ -23,10 +23,11 @@
* questions.
*/
package javax.swing.plaf.basic;
+import javax.swing.plaf.TextUIDrawing;
import java.awt.*;
import java.awt.event.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -123,10 +124,12 @@
/**
* The value represents if the old border is painted.
*/
protected boolean oldBorderPainted;
+ private TextUIDrawing textUIDrawing;
+
/* diagnostic aids -- should be false for production builds. */
private static final boolean TRACE = false; // trace creates and disposes
private static final boolean VERBOSE = false; // show reuse hits/misses
private static final boolean DEBUG = false; // show bad params, misc.
@@ -245,10 +248,11 @@
&& iconFactory.isCompatible(checkIcon, prefix)) {
checkIcon = iconFactory.getIcon(menuItem);
}
}
}
+ textUIDrawing = SwingUtilities2.getTextUIDrawing(textUIDrawing);
}
/**
*
* @param menuItem a menu item
@@ -319,10 +323,14 @@
menuItem.setMargin(null);
if (arrowIcon instanceof UIResource)
arrowIcon = null;
if (checkIcon instanceof UIResource)
checkIcon = null;
+ if (textUIDrawing != SwingUtilities2.DEFAULT_UI_TEXT_DRAWING
+ && textUIDrawing instanceof UIResource) {
+ textUIDrawing = SwingUtilities2.DEFAULT_UI_TEXT_DRAWING;
+ }
}
/**
* Unregisters components.
*
@@ -672,20 +680,20 @@
g.setFont(lh.getAccFontMetrics().getFont());
if (!model.isEnabled()) {
// *** paint the accText disabled
if (disabledForeground != null) {
g.setColor(disabledForeground);
- SwingUtilities2.drawString(lh.getMenuItem(), g,
+ textUIDrawing.drawString(lh.getMenuItem(), g,
lh.getAccText(), lr.getAccRect().x,
lr.getAccRect().y + lh.getAccFontMetrics().getAscent());
} else {
g.setColor(lh.getMenuItem().getBackground().brighter());
- SwingUtilities2.drawString(lh.getMenuItem(), g,
+ textUIDrawing.drawString(lh.getMenuItem(), g,
lh.getAccText(), lr.getAccRect().x,
lr.getAccRect().y + lh.getAccFontMetrics().getAscent());
g.setColor(lh.getMenuItem().getBackground().darker());
- SwingUtilities2.drawString(lh.getMenuItem(), g,
+ textUIDrawing.drawString(lh.getMenuItem(), g,
lh.getAccText(), lr.getAccRect().x - 1,
lr.getAccRect().y + lh.getFontMetrics().getAscent() - 1);
}
} else {
// *** paint the accText normally
@@ -694,11 +702,11 @@
&& model.isSelected())) {
g.setColor(acceleratorSelectionForeground);
} else {
g.setColor(acceleratorForeground);
}
- SwingUtilities2.drawString(lh.getMenuItem(), g, lh.getAccText(),
+ textUIDrawing.drawString(lh.getMenuItem(), g, lh.getAccText(),
lr.getAccRect().x, lr.getAccRect().y +
lh.getAccFontMetrics().getAscent());
}
}
}
@@ -789,27 +797,27 @@
if(!model.isEnabled()) {
// *** paint the text disabled
if ( UIManager.get("MenuItem.disabledForeground") instanceof Color ) {
g.setColor( UIManager.getColor("MenuItem.disabledForeground") );
- SwingUtilities2.drawStringUnderlineCharAt(menuItem, g,text,
+ textUIDrawing.drawStringUnderlineCharAt(menuItem, g,text,
mnemIndex, textRect.x, textRect.y + fm.getAscent());
} else {
g.setColor(menuItem.getBackground().brighter());
- SwingUtilities2.drawStringUnderlineCharAt(menuItem, g, text,
+ textUIDrawing.drawStringUnderlineCharAt(menuItem, g, text,
mnemIndex, textRect.x, textRect.y + fm.getAscent());
g.setColor(menuItem.getBackground().darker());
- SwingUtilities2.drawStringUnderlineCharAt(menuItem, g,text,
+ textUIDrawing.drawStringUnderlineCharAt(menuItem, g,text,
mnemIndex, textRect.x - 1, textRect.y +
fm.getAscent() - 1);
}
} else {
// *** paint the text normally
if (model.isArmed()|| (menuItem instanceof JMenu && model.isSelected())) {
g.setColor(selectionForeground); // Uses protected field.
}
- SwingUtilities2.drawStringUnderlineCharAt(menuItem, g,text,
+ textUIDrawing.drawStringUnderlineCharAt(menuItem, g,text,
mnemIndex, textRect.x, textRect.y + fm.getAscent());
}
}
/**
< prev index next >