Kamis, 27 Februari 2014

Belajar Button (tombol) untuk pemula

Share it Please
Kelas 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

Followers

Follow The Author