Index: javax/swing/plaf/metal/MetalToolTipUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalToolTipUI.java,v retrieving revision 1.3 diff -u -r1.3 MetalToolTipUI.java --- javax/swing/plaf/metal/MetalToolTipUI.java 4 Oct 2005 14:12:34 -0000 1.3 +++ javax/swing/plaf/metal/MetalToolTipUI.java 4 Oct 2005 15:19:59 -0000 @@ -258,7 +258,7 @@ g.setColor(acceleratorForeground); fm = t.getFontMetrics(acceleratorFont); int width = fm.stringWidth(acceleratorString); - g.drawString(acceleratorString, vr.x + vr.width - width, + g.drawString(acceleratorString, vr.x + vr.width - width - padSpaceBetweenStrings/2, vr.y + vr.height - fm.getDescent()); } @@ -282,19 +282,22 @@ JToolTip toolTip = (JToolTip) c; JComponent component = toolTip.getComponent(); KeyStroke ks = null; + int mne = 0; if (component instanceof JMenuItem) { JMenuItem item = (JMenuItem) component; ks = item.getAccelerator(); + if (ks == null) + mne = item.getMnemonic(); } else if (component instanceof AbstractButton) { AbstractButton button = (AbstractButton) component; - int mne = button.getMnemonic(); - if (mne > 0) - ks = KeyStroke.getKeyStroke(Character.toUpperCase((char) mne), - InputEvent.ALT_MASK, false); + mne = button.getMnemonic(); } + if (mne > 0) + ks = KeyStroke.getKeyStroke(Character.toUpperCase((char) mne), + InputEvent.ALT_MASK, false); if (ks != null) result = acceleratorToString(ks); }