/*
* Copyright (c) 2000 David Flanagan. All rights reserved.
* This code is from the book Java Examples in a Nutshell, 2nd Edition.
* It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.
* You may study, use, and modify it for any non-commercial purpose.
* You may distribute it non-commercially as long as you retain this notice.
* For a commercial use license, or to purchase the book (recommended),
* visit http://www.davidflanagan.com/javaexamples2.
*/
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* An applet that displays the standard fonts and styles available in Java 1.1
*/
public class FontList extends JPanel {
// The available font families
String[] families = { "Serif", // "TimesRoman" in Java 1.0
"SansSerif", // "Helvetica" in Java 1.0
"Monospaced" }; // "Courier" in Java 1.0
// The available font styles and names for each one
int[] styles = { Font.PLAIN, Font.ITALIC, Font.BOLD,
Font.ITALIC + Font.BOLD };
String[] stylenames = { "Plain", "Italic", "Bold", "Bold Italic" };
// Draw the applet.
public void paint(Graphics g) {
for (int f = 0; f < families.length; f++) { // for each family
for (int s = 0; s < styles.length; s++) { // for each style
Font font = new Font(families[f], styles[s], 18); // create font
g.setFont(font); // set font
String name = families[f] + " " + stylenames[s]; // create name
g.drawString(name, 20, (f * 4 + s + 1) * 20); // display name
}
}
}
public static void main(String[] a) {
JFrame f = new JFrame();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setContentPane(new FontList());
f.setSize(300,300);
f.setVisible(true);
}
}
|