Navigasi buku
Kotak Dialog FontDialog
Kotak dialog FontDialog digunakan untuk memilih salah satu huruf dari huruf-huruf yang tersedia pada suatu platform. Suatu huruf yang tersedia pada platform yang satu belum tentu tersedia pada platform yang lain.
Sama seperti ColorDialog, kotak dialog ini tidak mempunyai bit gaya yang bisa diset. Untuk menggunakannya mirip dengan kotak-kotak dialog yang lain.
Beberapa platform memungkinkan kita untuk mengeset jenis huruf dan warnanya sekaligus. SWT juga menyediakan metode untuk mengambil warna dan jenis huruf yang dipilih user sekaligus.
Kotak dialog FontDialog mengembalikan array objek bertipe FontData.
Berikut ini adalah beberapa metode yang tersedia pada FontDialog
| Metode | Penjelasan |
open() |
|
getFontList() | Mengembalikan array FontData[] yang berupa kumpulan font yang dipilih user. |
setFontList(FontData huruf) | Mengeset huruf yang menjadi default ketika kotak dialog ditampilkan |
getRGB() | Mengembalikan warna huruf yang dipilih dalam bentuk RGB |
setRGB(RGB warna) | Mengeset warna huruf yang menjadi default ketika kotak dialog ditampilkan |
Berikut ini adalah contoh menggunakan FontDialog. Shell yang berisi "contoh teks" akan berubah warna dan penampilannya apabila kita mengubah jenis hurufnya dengan menekan tombol "Ubah huruf".

Listing program lengkapnya adalah sebagai berikut, atau bisa juga diunduh di sini untuk diimport ke dalam Eclipse.
package com.lyracc.kotakdialogfont; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; public class KotakDialogFont { /** * @param args */ public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); // Mengeset layout shell shell.setLayout(new RowLayout()); // Mengubah ukuran jendela dan mengeset judul jendela shell.setText("Demo kotak dialog huruf"); // Membuat teks baru final Text teks = new Text(shell,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); teks.setLayoutData(new RowData(100, 200)); teks.setText("contoh teks"); // Membuat tombol baru Button tombol = new Button(shell, SWT.PUSH); tombol.setText("Ubah huruf"); // Membuat kotak dialog font baru final FontDialog dialog = new FontDialog(shell); dialog.setText("Pilih huruf"); // Membuat event listener menggunakan listener bertipe SelectionAdapter listener = new SelectionAdapter() { @Override // Ketika tombol ditekan public void widgetSelected(SelectionEvent e) { // Jika kotak dialog mengembalikan null, artinya // tidak ada huruf yang dipilih if (dialog.open() == null) return; // Referensi ke display Display displayUtama = e.display; // Mengambil huruf yang dipilih FontData[] list = dialog.getFontList(); // Ubah dari FontData ke Font Font huruf = new Font(displayUtama, list); // Set huruf pada teks teks.setFont(huruf); // Jangan lupa hapus dari memori untuk mencegah kebocoran memori huruf.dispose(); // Ambil warna dari dialog. Jika tidak null, ubah warna teks RGB rgb = dialog.getRGB(); if (rgb != null) { Color warna = new Color(displayUtama, rgb); teks.setForeground(warna); warna.dispose(); } } }; // Tambah listener pada tombol tombol.addSelectionListener(listener); shell.open(); while (!shell.isDisposed()) if (!display.readAndDispatch()) display.sleep(); display.dispose(); } }
| Sisipan | Ukuran |
|---|---|
| kotakdialogfont.zip | 4.22 KB |


