Kelas Font adalah turunan dari kelas Object yang berada di puncak hierarki kelas Java. Berikut ini adalah hierarki turunan dari kelas java.awt.Font di Java.
Kelas Font di Java mempunyai dua konstruktor. Salah satu konstruktor yang sering digunakan untuk mengkonstruksi obyek font adalah sebagai berikut:
Font(String name, int style, int size);
Konstruktor di atas digunakan untuk membuat atau mengkonstruksi obyek font dengan tiga parameter yaitu name (nama), style (model) dan size (ukuran). Parameter name dapat berupa font apa saja yang didukung sistem komputer dimana program Java dijalankan.
Nilai parameter style dapat berupa salah satu atau kombinasi konstanta bernilai int yaitu Font.BOLD, Font.PLAIN, Font.ITALIC. Contoh kombinasi konstanta adalah Font.BOLD + Font.ITALIC. Parameter size adalah nilai int positif berapa saja. Font diukur dalam points dan satu point adalah 1/72 inch.
Nama semua font yang ada di sistem komputer dapat diketahui melalui obyek kelas GraphicsEnvironment dengan menggunakan metoda getLocalGraphicsEnvironment. Untuk mendapatkan daftar nama font yang ada di sistem komputer, dapat digunakan metoda getAvailableFontFamilyNames.
Contoh program Java berikut ini menampilkan daftar nama font yang terinstal di sistem komputer. Contoh program juga memperkenalkan komponen grafis Java lainnya yaitu kelas JScrollPane. Kelas Font sendiri untuk merubah tampilan obyek dari kelas JScrollPane.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | // Nama file : FontSystem.java // Mendapatkan nama font yang tersedia di sistem komputer // Mengimpor kelas import java.awt.GraphicsEnvironment; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import javax.swing.JScrollPane; import javax.swing.JFrame; import javax.swing.JTextArea; // Deklarasi kelas public class FontSystem extends JFrame { public FontSystem() { Container container = getContentPane(); container.setLayout(new BorderLayout()); GraphicsEnvironment graphic; graphic = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] namaFont = graphic.getAvailableFontFamilyNames(); String string = ""; for (int x = 0; x < namaFont.length; x++) { string += namaFont[x]; string += (x < namaFont.length - 1) ? "\n" : ""; } Font font = new Font("Tahoma", Font.BOLD + Font.ITALIC, 11); JTextArea area = new JTextArea(); area.append(string); area.setFont(font); JScrollPane pane = new JScrollPane(area); container.add(pane, BorderLayout.CENTER); } // Metoda main public static void main(String[] args) { FontSystem frame = new FontSystem(); frame.setTitle("Nama Font Tersedia di Sistem"); frame.setSize(270, 170); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Pernyataan baris nomor 21 menghasilkan obyek kelas GraphicsEnvironment dan acuan ke obyek tersebut diberikan ke variabel graphic. GraphicsEnvironment adalah kelas abstrak yang menghasilkan gambaran lingkungan grafis sistem komputer. Untuk memperoleh semua nama font yang ada di sistem komputer, digunakan metoda getAvailableFontFamilyNames. Nama-nama font kemudian disimpan ke variabel larik tipe string, namaFont.
Perulangan for baris nomor 25 – 28 melakukan iterasi untuk menyimpan nama font ke dalam variabel string tipe String. Semua nama font yang ada di sistem komputer dan yang tersimpan di dalam variabel string kemudian diletakkan di variabel acuan area dari kelas JTextArea. Tampilan font di dalam obyek area kemudian dirubah menjadi cetak tebal dan miring menggunakan metoda setFont(Color c).
Baris nomor 35 adalah pernyataan untuk membuat atau mengkonstruksi obyek dari kelas JScrollPane dan memberi variabel pane acuan ke obyek tersebut. Parameter konstruktor kelas JScrollPane diberi argumen berupa variabel area yang mengacu ke obyek dari kelas JTextArea.
Dengan menjadikan variabel area argumen parameter konstruktor, maka area teks ditampilkan dengan bilah penggulung di sebelah kanan. Pernyataan baris nomor 36 kemudian meletakkan obyek kelas JScrollPane ke content pane dari frame.