home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap17 / MetricsApplet.java < prev   
Text File  |  1996-02-22  |  1KB  |  49 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3.  
  4. public class MetricsApplet extends Applet
  5. {
  6.     TextField textField;
  7.  
  8.     public void init()
  9.     {
  10.         textField = new TextField(20);
  11.         add(textField);
  12.         textField.setText("Default string");
  13.     }
  14.  
  15.     public void paint(Graphics g)
  16.     {
  17.         Font font = getFont();
  18.         g.setFont(font);
  19.         FontMetrics fontMetrics = g.getFontMetrics(font);
  20.         int n = fontMetrics.getLeading();
  21.         String leading = String.valueOf(n);
  22.         n = fontMetrics.getAscent();
  23.         String ascent = String.valueOf(n);
  24.         n = fontMetrics.getDescent();
  25.         String descent = String.valueOf(n);
  26.         n = fontMetrics.getHeight();
  27.         String height = String.valueOf(n);
  28.  
  29.         String s = textField.getText();
  30.         n = fontMetrics.stringWidth(s);
  31.         String width = String.valueOf(n);
  32.  
  33.         g.drawString("FONT INFO:", 55, 60);
  34.         g.drawString("Leading: " + leading, 70, 80);
  35.         g.drawString("Ascent: " + ascent, 70, 95);
  36.         g.drawString("Descent: " + descent, 70, 110);
  37.         g.drawString("Height: " + height, 70, 125);
  38.  
  39.         g.drawString("STRING INFO:", 55, 155);
  40.         g.drawString("Width: " + width, 70, 175);
  41.     }
  42.  
  43.     public boolean action(Event event, Object arg)
  44.     {
  45.         repaint();
  46.         return true;
  47.     }
  48. }
  49.