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

Berikut ini adalah hirarki turunan dari kelas java.awt.Font.

Hirarki turunan kelas Font di Java

Kelas Font mempunyai dua buah konstruktor. Salah satu konstruktor yang paling sering digunakan untuk mengkonstruksi obyek font adalah sebagai berikut:

   Font(String name, int style, int size);

Konstruktor di atas digunakan untuk membuat obyek font dengan nama, model dan ukuran yang ditentukan. Nama font dapat berupa font apa saja yang didukung oleh sistem komputer dimana program Java dijalankan. Model font dapat dipilih antara Font.BOLD, Font.PLAIN, Font.ITALIC atau kombinasi dari ketiga model, misalnya Font.BOLD + Font.ITALIC. Ukuran font berupa integer (int) positif berapa saja. Font diukur dalam points dan satu point adalah 1/72 inch.

Nama semua font yang terinstal di komputer dapat diketahui dengan menggunakan obyek kelas GraphicsEnvironment menggunakan metoda getLocalGraphicsEnvironment. Untuk mendapatkan nama font yang tersedia di sistem komputer, digunakan metoda getAvailableFontFamilyNames.

Contoh program berikut ini menampilkan daftar nama font yang terinstal di sistem komputer yang penulis gunakan. Contoh program juga memperkenalkan komponen grafis Java lainnya yaitu kelas JScrollPane dan penggunaan kelas Font untuk merubah tampilan obyek dari kelas JScrollPane.

// 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. Acuan ke obyek tersebut diberikan ke variabel graphic. Di Java, GraphicsEnvironment adalah kelas abstrak yang menghasilkan gambaran lingkungan grafis sistem komputer. Untuk mendapatkan nama-nama font yang terinstal di komputer, digunakan metoda getAvailableFontFamilyNames. Nama-nama font yang terdapat di sistem komputer kemudian disimpan ke variabel larik tipe string, namaFont.

Perulangan for baris nomor 25 – 28 melakukan iterasi untuk menyimpan nama-nama font ke dalam variabel string dengan tipe String. Semua nama-nama font yang terdapat di sistem komputer dan tersimpan di variabel string kemudian diletakkan di variabel acuan area (kelas JTextArea). Font yang terdapat di dalam obyek area kemudian dirubah agar ditampilkan dengan cetak tebal dan miring menggunakan metoda setFont(Color c).

Baris nomor 35 adalah pernyataan untuk mengkonstruksi obyek kelas JScrollPane dan memberi variabel pane acuan ke obyek tersebut. Parameter konstruktor kelas JScrollPane diberi argumen berupa variabel area yang mengacu ke obyek kelas JTextArea. Dengan memberikan 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

MASUKKAN EMAIL ANDA UNTUK BERLANGGANAN ARTIKEL GRATIS:

Delivered by FeedBurner