--- old/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java 2016-01-25 00:12:48.000000000 +0400 +++ new/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java 2016-01-25 00:12:47.000000000 +0400 @@ -253,7 +253,7 @@ final int yAccel = acceleratorRect.y + fm.getAscent(); if (modifiersString.equals("")) { // just draw the keyString - SwingUtilities2.drawString(c, g, keyString, acceleratorRect.x, yAccel); + SwingUtilities2.getTextUIDrawing(c).drawString(c, g, keyString, acceleratorRect.x, yAccel); } else { final int modifiers = accelerator.getModifiers(); int underlinedChar = 0; @@ -266,13 +266,19 @@ g.setFont(acceleratorFont); drawString(g, c, modifiersString, underlinedChar, acceleratorRect.x, yAccel, isEnabled, isSelected); g.setFont(f); - SwingUtilities2.drawString(c, g, keyString, acceleratorRect.x + acceleratorRect.width - emWidth, yAccel); + SwingUtilities2.getTextUIDrawing(c) + .drawString(c, g, keyString, + acceleratorRect.x + acceleratorRect.width - emWidth, + yAccel); } else { final int xAccel = acceleratorRect.x + emWidth; g.setFont(acceleratorFont); drawString(g, c, modifiersString, underlinedChar, xAccel, yAccel, isEnabled, isSelected); g.setFont(f); - SwingUtilities2.drawString(c, g, keyString, xAccel - fm.stringWidth(keyString), yAccel); + SwingUtilities2.getTextUIDrawing(c) + .drawString(c, g, keyString, + xAccel - fm.stringWidth(keyString), + yAccel); } } } @@ -425,7 +431,8 @@ else index = (lci < uci) ? lci : uci; } - SwingUtilities2.drawStringUnderlineCharAt(c, g, text, index, x, y); + SwingUtilities2.getTextUIDrawing(c) + .drawStringUnderlineCharAt(c, g, text, index, x, y); } /*