Kamis, 27 Februari 2014

Kotak Dialog FontDialog

Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/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



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.

Contoh Source Codenya

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();       
    }
}


Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/kotak-dialog-fontdialog 

 

Tidak ada komentar:

Posting Komentar