Beberapa waktu yang lalu, saya menjawab pertanyaan overflow tumpukan tentang font yang secara tidak benar menampilkan sebuah kata dalam bahasa Lao. Saya menulis ayunan GUI untuk menjawab pertanyaan overflow tumpukan.
Jika Anda tidak terbiasa dengan Java Swing, Oracle memiliki tutorial yang sangat baik untuk memulai, membuat GUI dengan JFC/Swing. Lewati bagian NetBeans.
Saya memutuskan untuk menulis GUI pemilih font yang lebih umum karena dua alasan.
Saya ingin memilih font skrip untuk GUI berbeda yang saya buat. Saya harus menggunakan OpenOffice untuk melihat font yang tersedia.
Saya pikir itu akan membuat aplikasi ayunan yang bagus untuk GitHub.
Inilah GUI pemilih font yang menunjukkan font mana di komputer saya menampilkan frasa bahasa Inggris. Saya memiliki 432 variasi font yang dapat menampilkan teks sampel dari JTextfield.

Di bagian atas GUI, Anda dapat mengetik atau menyalin / menempel teks sampel. Anda dapat memilih dari beberapa ukuran font umum. Setelah klik kiri pada layar Font Jbutton, Anda melihat sampel dari setiap font dan di atas, jumlah total font yang tersedia yang diakui Java.
Inilah gui pemilih font yang menunjukkan font mana di komputer saya menampilkan kata dalam bahasa Lao. Anda dapat melihat kotak dalam teks sampel JTextfield. Font GUI ayunan default saya tidak dapat menampilkan kata. Hanya 11 variasi font pada sistem saya yang dapat, dan hanya font dejavu yang dapat menampilkan kata dengan mesin terbang di posisi yang benar.

Ayunan GUI terdiri dari empat kelas; Fontselectorgui, fonttablecellrenderer, fontdisplaylistener, dan fontdisplayrunnable.
Kelas FontSelectorGUI adalah kelas GUI utama. JFrame, entri JPanel, dan tampilan JPanel dibuat di kelas ini. JFrame dibuat dalam metode run, dan JPanel dibuat dalam metode terpisah. Entri JPanel menggunakan BoxLayout, sedangkan tampilan JPanel menggunakan BorderLayout.
Kelas FonttableCellrenderer adalah kelas penerima sel JTable yang bertanggung jawab untuk merender sel JTable di font yang berbeda.
Kelas FontDisplayListener menanggapi jbutton dari entri jpanel. Karena penciptaan baris JTable membutuhkan waktu beberapa saat, fontdisplayRunnable terpisah memperbarui baris JTable di utas terpisah. Melakukan hal ini membuat GUI responsif.