< 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 >