- Java Programming Examples
- Example - Home
- Example - Environment
- Example - Strings
- Example - Arrays
- Example - Date & Time
- Example - Methods
- Example - Files
- Example - Directories
- Example - Exceptions
- Example - Data Structure
- Example - Collections
- Example - Networking
- Example - Threading
- Example - Applets
- Example - Simple GUI
- Example - JDBC
- Example - Regular Exp
- Example - Apache PDF Box
- Example - Apache POI PPT
- Example - Apache POI Excel
- Example - Apache POI Word
- Example - OpenCV
- Example - Apache Tika
- Example - iText
- Java Tutorial
- Java - Tutorial
- Java Useful Resources
- Java - Quick Guide
- Java - Useful Resources
How to display text in different fonts using Java
Problem Description
How to display text in different fonts?
Solution
Following example demonstrates how to display text in different fonts using setFont() method of Font class.
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Main extends JPanel { String[] type = { "Serif","SansSerif"}; int[] styles = { Font.PLAIN, Font.ITALIC, Font.BOLD, Font.ITALIC + Font.BOLD }; String[] stylenames = { "Plain", "Italic", "Bold", "Bold & Italic" }; public void paint(Graphics g) { for (int f = 0; f < type.length; f++) { for (int s = 0; s < styles.length; s++) { Font font = new Font(type[f], styles[s], 18); g.setFont(font); String name = type[f] + " " + stylenames[s]; g.drawString(name, 20, (f * 4 + s + 1) * 20); } } } 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 Main()); f.setSize(400,400); f.setVisible(true); } }
Result
The above code sample will produce the following result.
Different font names are displayed in a frame.
The following is an another sample example to display text in different fonts
import java.awt.*; import javax.swing.*; public class Main extends JComponent { String[] dfonts; Font[] font; static final int IN = 15; public Main() { dfonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); font = new Font[dfonts.length]; } public void paintComponent(Graphics g) { for (int j = 0; j < dfonts.length; j += 1) { if (font[j] == null) { font[j] = new Font(dfonts[j], Font.PLAIN, 16); } g.setFont(font[j]); int p = 15; int q = 15+ (IN * j); g.drawString(dfonts[j],p,q); } } public static void main(String[] args) { JFrame frame = new JFrame("Different Fonts"); frame.getContentPane().add(new JScrollPane(new Main())); frame.setSize(350, 650); frame.setVisible(true); } }
java_simple_gui.htm
Advertisements