Button
melambangkan suatu tombol yang jika ditekan atau dilepaskan akan melepaskan event tertentu.Kelas
Button
memiliki beberapa bit gaya :Suatu tombol bisa diisi teks atau gambar, tapi tidak keduanya secara bersamaan. Teks yang diisi pada suatu tombol tidak dapat berisi baris baru '\n' atau '\r'. Berikut ini adalah beberapa metode yang digunakan untuk mengeset dan mengambil teks dan gambar pada tombol
Berikut ini adalah contoh mengeset teks dan gambar pada suatu tombol :
Button tombolTeks = new Button(shell, SWT.PUSH);
tombolTeks.setText("Tombolku");
ImageData dataGambar = new ImageData("c:\\grafik.bmp");
Image gambar = new Image(display, dataGambar);
Button tombolGambar = new Button(shell, SWT.PUSH);
tombolGambar.setImage(gambar);
Kita juga bisa mengatur kerapatan (alignment) suatu teks atau gambar.
Selain menggunakan bit gaya SWT.LEFT
, SWT.RIGHT
, atau SWT.CENTER
pada konstruktor.
Atau kita juga bisa menggunakan metode instansi pada kelas tombol berikut :
Misalnya,Button tombolTeks = new Button(shell, SWT.PUSH);
tombolTeks.setText("Tombolku");
tombolTeks.setAlignment(SWT.LEFT);
Tombol SWT.PUSH
Tombol ini memiliki sifat
tombol biasa, yaitu ketika di klik tombol akan tampil seperti ditekan,
dan ketika dilepas maka tombol akan kembali seperti biasa. Tombol ini
memiliki event berikut :
Misalnya untuk menambahkan listener untuk event yang terjadi ketika tombol ditekan, kita bisa menggunakan SWT.Selection, misalnya pada contoh berikut :
Button tombolTeks = new Button(shell, SWT.PUSH);
tombolTeks.setText("Tombolku");
tombolTeks.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// Perintah-perintah lainnya
}
});
Tombol SWT.ARROW
Tombol ini secara perilaku
mirip dengan SWT.PUSH, akan tetapi perbedaannya tombol ini tidak bisa
diisi teks atau gambar. Tombol ini akan menggambar tanda panah, yang
arahnya tergantung dari bit gaya yang diberikan, bisa ke kiri, kanan,
atas atau bawah.
Tombol SWT.TOGGLE Berbeda dengan tombol SWT.PUSH, tombol ini ketika diklik akan berada dalam posisi tertekan terus walaupun mouse sudah dilepaskan. Untuk mengembalikannya, tombol ini harus diklik kembali. Karena tombol ini bisa memiliki dua keadaan, yaitu keadaan tertekan dan keadaan terlepas, ada dua metode yang kita bisa gunakan untuk mengeset keadaan tombol atau untuk mengambil keadaan tombol saat itu, yaitu
Tombol SWT.CHECK
Tombol SWT.CHECK tidak
berbentuk seperti tombol, akan tetapi perilakunya mirip dengan
SWT.TOGGLE. Secara tampilan, SWT.CHECK ditampilkan seperti tombol kotak
tik, yang apabila diklik kotak tik akan tercontreng. Untuk menghilangkan
contrengan, klik kembali kotak cek tersebut.
Karenanya, mirip
seperti SWT.TOGGLE, tombol ini memiliki dua keadaan tetap, yaitu kondisi
tercontreng dan tidak tercontreng. Untuk mengeset keadaan ini, gunakan
metode yang sama dengan SWT.TOGGLE, yaitu setSelection()
dan getSelection()
.
Tombol SWT.RADIO Tombol ini mirip seperti SWT.CHECK, di mana apabila kita mengklik tombol radio, maka tombol tersebut berada dalam keadaan terpilih. Perbedaannya, jika beberapa tombol SWT.RADIO berada dalam satu induk, maka hanya satu tombol radio saja yang bisa aktif. Artinya jika kita mengklik tombol radio kedua, maka tombol ini akan terpilih dan yang lainnya akan mati. Untuk mengesetnya, gunakan metode yang sama seperti pada SWT.CHECK dan SWT.TOGGLE. Biasanya, hanya satu tombol radio pada suatu kotak dialog atau jendela tidak masuk akal. Karena hanya ada tombol radio yang bisa aktif, maka satu tombol radio ini akan selalu aktif, sehingga percuma untuk diletakkan dalam GUI. Jika ada dua tombol radio, perilakunya persis sama dengan satu tombol SWT.CHECK (jika satu aktif, maka yang lainnya pasti tidak aktif). Untuk itu tombol radio biasanya digunakan untuk meminta user memilih satu dari sekian banyak pilihan. Berikut ini adalah contoh program yang bisa Anda unduh di sini. Program ini akan menggambar beberapa jenis tombol. Jika salah satu tombol ditekan, maka warna latar belakang jendela akan berubah-ubah. Warna-warna ini disimpan dalam palette warna dalam bentuk array. Jika warna terakhir sudah ditampilkan, kemudian tombol ditekan kembali, maka warna pertama akan ditampilkan kembali
Kode program :
package com.lyracc.tombolwarna;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
public class TombolWarna {
// Variabel-variabel widget kita deklarasikan sebagai
// variabel privat
private Display display;
private Shell shell;
private Color[] warna;
private int warnaSekarang = 0;
final int JUMLAHWARNA = 10;
// Konstruktor kelas ini, untuk menginisialisasi semua widget
TombolWarna() {
// Membuat display dan shell baru
display = new Display();
shell = new Shell(display);
shell.setLayout(new RowLayout());
// Ubah ukuran jendela menjadi 200 x 200 piksel
shell.setSize(250, 200);
// Inisialisasi tombol-tombol
Button tombol = new Button(shell,SWT.PUSH);
tombol.setText("Tombolku SWT.PUSH");
Button tombol1 = new Button(shell,SWT.ARROW | SWT.LEFT);
Button tombol2 = new Button(shell,SWT.TOGGLE);
tombol2.setText("Tombolku SWT.TOGGLE");
Button tombol3 = new Button(shell,SWT.CHECK);
tombol3.setText("Tombolku SWT.CHECK");
Button tombol4 = new Button(shell,SWT.RADIO);
tombol4.setText("Tombolku SWT.RADIO");
// Mengeset event
ListenerTombolWarna listenerTombolWarna = new ListenerTombolWarna();
tombol.addSelectionListener(listenerTombolWarna);
tombol1.addSelectionListener(listenerTombolWarna);
tombol2.addSelectionListener(listenerTombolWarna);
tombol3.addSelectionListener(listenerTombolWarna);
tombol4.addSelectionListener(listenerTombolWarna);
// Mengeset warna-warna
warna = new Color[JUMLAHWARNA];
warna[0] = display.getSystemColor(SWT.COLOR_BLACK);
warna[1] = display.getSystemColor(SWT.COLOR_BLUE);
warna[2] = display.getSystemColor(SWT.COLOR_CYAN);
warna[3] = display.getSystemColor(SWT.COLOR_GRAY);
warna[4] = display.getSystemColor(SWT.COLOR_GREEN);
warna[5] = display.getSystemColor(SWT.COLOR_MAGENTA);
warna[6] = display.getSystemColor(SWT.COLOR_RED);
warna[7] = display.getSystemColor(SWT.COLOR_WHITE);
warna[8] = display.getSystemColor(SWT.COLOR_YELLOW);
warna[9] = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
}
// Kelas listener ketika tombol ditekan
class ListenerTombolWarna extends SelectionAdapter {
public void widgetSelected(SelectionEvent e) {
// Jika warna lebih sudah di akhir array
// kembali ke warna 0
if (warnaSekarang == warna.length)
warnaSekarang = 0;
shell.setBackground(warna[warnaSekarang++]);
}
}
// Perintah "standar" SWT, harus ada pada setiap aplikasi SWT
public void run() {
shell.open();
while (!shell.isDisposed())
if (!display.readAndDispatch())
display.sleep();
display.dispose();
}
/**
* @param args
*/
public static void main(String[] args) {
// Instansiasi kelas ini, kemudian jalankan run
TombolWarna tombolWarna = new TombolWarna();
tombolWarna.run();
}
}
Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/button-tombol
Tidak ada komentar:
Posting Komentar