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
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.
Kode Program :
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();
}
}
Source : http://java.lyracc.com/belajar/java-untuk-pemula/kotak-dialog-fontdialog
Tidak ada komentar:
Posting Komentar