Mega Code Archive

 
Categories / Java / Swing JFC
 

JToolTip With Icon

//package modrcon; import java.awt.*; import javax.swing.plaf.metal.MetalToolTipUI; import javax.swing.*; public class JToolTipWithIcon extends JToolTip {          protected ImageIcon icon;     public JToolTipWithIcon(ImageIcon icon) {         this.icon = icon ;         setUI(new IconToolTipUI()) ;     }     public JToolTipWithIcon(MetalToolTipUI toolTipUI) {         setUI(toolTipUI) ;     }     private class IconToolTipUI extends MetalToolTipUI {         @Override         public void paint(Graphics g, JComponent c) {             FontMetrics metrics = c.getFontMetrics( c.getFont() ) ;             Dimension size = c.getSize() ;             g.setColor( c.getBackground() ) ;             g.fillRect( 0, 0, size.width, size.height ) ;             int x = 3 ;             if(icon != null) {                 icon.paintIcon( c, g, 0, 0 ) ;                 x += icon.getIconWidth() + 1 ;             }             g.setColor( c.getForeground() ) ;             g.drawString( ((JToolTip)c).getTipText(), x, metrics.getHeight() ) ;         }         @Override         public Dimension getPreferredSize(JComponent c) {             return new Dimension(icon.getIconWidth(), icon.getIconHeight());         }     } }