Menggunakan kelas Font di Java

Menggunakan Kelas Font Di Java

Terkadang komponen Java perlu diperindah tidak hanya menggunakan warna, tetapi juga font (huruf) yang tertera di komponen tersebut, Anda mungkin ingin merubah jenis font ke SansSerif atau Serif, mungkin perlu mempertebal (bold), memberi garis bawah (underline) atau ingin tercetak miring (italic). Di Java, Anda dapat melakukan hal tersebut melalui kelas bantu java.awt.Font menggunakan metoda setFont.

Kelas Font adalah turunan dari kelas Object yang berada di puncak hierarki kelas Java. Berikut ini adalah gambar hierarki turunan dari kelas java.awt.Font.

Hierarki turunan kelas Font di Java

Kelas Font mempunyai dua buah 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 dari 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);
   }
}

Menggunakan kelas Font di Java

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 mendapatkan 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 sebagai argumen, maka area teks ditampilkan dengan bilah penggulung di sebelah kanan. Pernyataan baris nomor 36 kemudian meletakkan obyek kelas JScrollPane ke content pane dari frame.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It