< prev index next >

src/java.desktop/share/classes/javax/swing/plaf/metal/MetalToolTipUI.java

Print this page

        

*** 63,72 **** --- 63,74 ---- * The space between strings. */ public static final int padSpaceBetweenStrings = 12; private String acceleratorDelimiter; + private TextUIDrawing textUIDrawing; + /** * Constructs an instance of the {@code MetalToolTipUI}. */ public MetalToolTipUI() { super();
*** 94,103 **** --- 96,122 ---- public void uninstallUI(JComponent c) { super.uninstallUI(c); tip = null; } + @Override + protected void installDefaults(JComponent c) { + super.installDefaults(c); + if (textUIDrawing != SwingUtilities2.DEFAULT_UI_TEXT_DRAWING + && textUIDrawing instanceof UIResource) { + textUIDrawing = SwingUtilities2.DEFAULT_UI_TEXT_DRAWING; + } + } + + @Override + protected void uninstallDefaults(JComponent c) { + super.uninstallDefaults(c); + if (textUIDrawing instanceof UIResource) { + textUIDrawing = null; + } + } + public void paint(Graphics g, JComponent c) { JToolTip tip = (JToolTip)c; Font font = c.getFont(); FontMetrics metrics = SwingUtilities2.getFontMetrics(c, g, font); Dimension size = c.getSize();
*** 125,143 **** v.paint(g, paintTextR); accelBL = BasicHTML.getHTMLBaseline(v, paintTextR.width, paintTextR.height); } else { g.setFont(font); ! SwingUtilities2.drawString(tip, g, tipText, paintTextR.x, paintTextR.y + metrics.getAscent()); accelBL = metrics.getAscent(); } if (!accelString.equals("")) { g.setFont(smallFont); g.setColor( MetalLookAndFeel.getPrimaryControlDarkShadow() ); ! SwingUtilities2.drawString(tip, g, accelString, tip.getWidth() - 1 - insets.right - accelSpacing + padSpaceBetweenStrings - 3, paintTextR.y + accelBL); --- 144,162 ---- v.paint(g, paintTextR); accelBL = BasicHTML.getHTMLBaseline(v, paintTextR.width, paintTextR.height); } else { g.setFont(font); ! textUIDrawing.drawString(tip, g, tipText, paintTextR.x, paintTextR.y + metrics.getAscent()); accelBL = metrics.getAscent(); } if (!accelString.equals("")) { g.setFont(smallFont); g.setColor( MetalLookAndFeel.getPrimaryControlDarkShadow() ); ! textUIDrawing.drawString(tip, g, accelString, tip.getWidth() - 1 - insets.right - accelSpacing + padSpaceBetweenStrings - 3, paintTextR.y + accelBL);
*** 146,156 **** private int calcAccelSpacing(JComponent c, FontMetrics fm, String accel) { return accel.equals("") ? 0 : padSpaceBetweenStrings + ! SwingUtilities2.stringWidth(c, fm, accel); } public Dimension getPreferredSize(JComponent c) { Dimension d = super.getPreferredSize(c); --- 165,175 ---- private int calcAccelSpacing(JComponent c, FontMetrics fm, String accel) { return accel.equals("") ? 0 : padSpaceBetweenStrings + ! textUIDrawing.getStringWidth(c, fm, accel); } public Dimension getPreferredSize(JComponent c) { Dimension d = super.getPreferredSize(c);
< prev index next >