home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / zkuste / JBuilder / BDK / Win / bdk_sep97.exe / _SETUP.1 / OurLabel.java < prev    next >
Encoding:
Java Source  |  1997-09-10  |  788 b   |  36 lines

  1.  
  2. package sun.beanbox;
  3.  
  4. /**
  5.  * OurLabel draws a string to reprensent an invisible bean.
  6.  *
  7.  * It differs from java.awt.Label in that it forwards mice events
  8.  * up to its container, which makes it friendlier in the BeanBox.
  9.  */
  10.  
  11. import java.awt.*;
  12.  
  13. public class OurLabel extends Component {
  14.  
  15.     public OurLabel(String label) {
  16.     this.label = label;
  17.     Font f = new Font("Helvetica", Font.PLAIN, 10);
  18.     setFont(f);
  19.     }
  20.  
  21.     public Dimension getPreferredSize() {
  22.     FontMetrics fm = getFontMetrics(getFont());
  23.     baseline = fm.getMaxAscent() + 2;
  24.     int height = baseline + fm.getMaxDescent() + 2;
  25.     int width = fm.stringWidth(label) + 17;
  26.     return new Dimension(width,height);
  27.     }
  28.  
  29.     public void paint(Graphics g) {
  30.     g.drawString(label, 3, baseline);
  31.     }
  32.  
  33.     String label;
  34.     int baseline;
  35. }
  36.