home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.metal;
-
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JToolTip;
- import com.sun.java.swing.KeyStroke;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.basic.BasicToolTipUI;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Toolkit;
-
- public class MetalToolTipUI extends BasicToolTipUI {
- static MetalToolTipUI sharedInstance = new MetalToolTipUI();
- Font smallFont;
- static JToolTip tip;
- public static final int padSpaceBetweenStrings = 12;
-
- public static ComponentUI createUI(JComponent var0) {
- return sharedInstance;
- }
-
- public void installUI(JComponent var1) {
- super.installUI(var1);
- tip = (JToolTip)var1;
- Font var2 = ((Component)var1).getFont();
- this.smallFont = new Font(var2.getName(), var2.getStyle(), var2.getSize() - 2);
- }
-
- public void paint(Graphics var1, JComponent var2) {
- FontMetrics var3 = Toolkit.getDefaultToolkit().getFontMetrics(var1.getFont());
- Dimension var4 = ((Component)var2).getSize();
- var1.setColor(((Component)var2).getBackground());
- var1.fillRect(0, 0, var4.width, var4.height);
- var1.setColor(((Component)var2).getForeground());
- String var5 = ((JToolTip)var2).getTipText();
- String var6 = this.getAcceleratorString();
- var1.drawString(var5, 3, 2 + var3.getAscent());
- if (!var6.equals("")) {
- var1.setFont(this.smallFont);
- var1.setColor(MetalLookAndFeel.getPrimaryControlDarkShadow());
- var1.drawString(var6, var3.stringWidth(var5) + 3 + 12, 2 + var3.getAscent());
- }
-
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- FontMetrics var2 = Toolkit.getDefaultToolkit().getFontMetrics(((Component)var1).getFont());
- Dimension var3 = new Dimension(var2.stringWidth(((JToolTip)var1).getTipText()) + 6, var2.getHeight() + 4);
- String var4 = this.getAcceleratorString();
- if (!var4.equals("")) {
- var2 = Toolkit.getDefaultToolkit().getFontMetrics(this.smallFont);
- var3.width += var2.stringWidth(var4) + 12;
- }
-
- return var3;
- }
-
- public String getAcceleratorString() {
- KeyStroke[] var1 = tip.getComponent().getRegisteredKeyStrokes();
- String var2 = "";
-
- for(int var3 = 0; var3 < var1.length; ++var3) {
- var1[var3].getKeyCode();
- int var4 = var1[var3].getModifiers();
- if (var4 == 2) {
- var2 = "cntl+" + (char)var1[var3].getKeyCode();
- break;
- }
-
- if (var4 == 8) {
- var2 = "alt+" + (char)var1[var3].getKeyCode();
- break;
- }
- }
-
- return var2;
- }
- }
-