Mega Code Archive

 
Categories / Java Tutorial / 2D Graphics
 

Obtain FontMetrics of different fonts

import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Main extends JFrame {   public Main() {     super("Demonstrating FontMetrics");     setSize(510, 210);     setVisible(true);     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   }   public void paint(Graphics g) {     g.setFont(new Font("SansSerif", Font.BOLD, 12));     FontMetrics fm = g.getFontMetrics();     g.drawString("Current font: " + g.getFont(), 10, 40);     g.drawString("Ascent: " + fm.getAscent(), 10, 55);     g.drawString("Descent: " + fm.getDescent(), 10, 70);     g.drawString("Height: " + fm.getHeight(), 10, 85);     g.drawString("Leading: " + fm.getLeading(), 10, 100);     Font font = new Font("Serif", Font.ITALIC, 14);     fm = g.getFontMetrics(font);     g.setFont(font);     g.drawString("Current font: " + font, 10, 130);     g.drawString("Ascent: " + fm.getAscent(), 10, 145);     g.drawString("Descent: " + fm.getDescent(), 10, 160);     g.drawString("Height: " + fm.getHeight(), 10, 175);     g.drawString("Leading: " + fm.getLeading(), 10, 190);   }   public static void main(String args[]) {     Main app = new Main();   } }