Páginas

Kamis, 15 Maret 2012

HALLO SWT




Secara umum aplikasi SWT membutuhkan beberapa langkah sebagai berikut :
1. Buat Display baru
2. Buat satu atau lebih Shell
3. Buat manager layout untuk Shell baru
4. Buat widget di dalam shell
5. Buka jendela shell
6. Buat perulangan pengirim event
7. Buang (dispose) display dan widget-widget lainnya
8. Tentunya import berbagai paket yang diperlukan oleh program

package helloswt;
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
 
public class HelloSWT {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setLayout( new RowLayout());
        Label label = new Label(shell, SWT.NONE);
        label.setText("Hello, World!");
        shell.pack();
        shell.open();
        while (!shell.isDisposed())
            if (!display.readAndDispatch())
                display.sleep();
        display.dispose();
        label.dispose();
    } 
}


Mari kita bahas satu per satu
1. Membuat Display baru
Membuat Display dapat dilakukan dengan membuat instansi dari objek bertipe Display, misalnya seperti perintah berikut



Display display = new Display();


Display (tampilan) adalah objek maya yang merupakan kontainer induk semua komponen GUI. Suatu tampilan sebetulnya tidak terlihat, akan tetapi komponen yang ditambahkan ke dalam tampilan dapat dilihat. Biasanya, suatu aplikasi hanya membutuhkan satu tampilan.
2. Membuat Shell baru
Membuat Shell dapat dilakukan dengan membuat instansi dari objek bertipe Shell, misalnya seperti perintah berikut



Shell shell = new Shell(display);

Pada pernyataan di atas, konstruktor Shell mengambil parameter yang merupakan induk di mana shell ini akan diletakkan. Pada pernyataan di atas, kita membuat objek shell bertipe Shell yang memiliki induk objek display.
Shell adalah jendela suatu aplikasi. Shell tertinggi adalah shell yang berada langsung di bawah objek bertipe Display, dan merupakan jendela utama suatu aplikasi. Shell sebenarnya adalah widget komposit, yaitu suatu widget yang terdiri dari beberapa widget lain. Oleh karenanya shell juga bisa berisi shell lain. Untuk aplikasi sederhana yang menampilkan kata "Hello World!", kita hanya membutuhkan satu shell saja yang kita letakkan pada objek display.
3. Membuat manager layout untuk Shell baru
Untuk membuat manager layout, kita menggunakan metode instansi dari objek shell, yaitu setLayout() yang mengambil parameter jenis layout yang akan disusun pada shell. Misalnya,



shell.setLayout( new RowLayout());

Pada contoh di atas, kita memerintahkan objek shell untuk mengatur widget-widget di dalamnya dalam urutan seperti baris. RowLayout adalah kelas layout yang digunakan objek shell untuk mengatur objek widget di dalamnya.
Manager layout digunakan untuk mengatur secara otomatis peletakkan setiap widget. Pada SWT, objek komposit seperti Shell tidak mengetahui bagaimana widget harus ditampilkan. Oleh karenanya jika kita tidak memberikan manager layout kepada objek bertipe Shell, maka tidak ada widget yang akan ditampilkan.
Bahasan khusus tentang layout cukup kompleks, dan karenanya kita akan bahas tersendiri pada bagian selanjutnya.
4. Membuat widget di dalam shell
Widget adalah komponen pembangun GUI. Menu, tombol, teks, kotak cek, kotak input teks, hingga kanvas, adalah contoh-contoh widget. Setiap widget memiliki sifat dan cara kerja yang berbeda-beda. Pada contoh ini, kita menggunakan widget yang sangat sederhana yang dinamakan Label. Widget ini digunakan untuk menampilkan teks, misalnya digunakan sebagai label atau pertanyaan pada suatu input teks.
Pada contoh HelloSWT, kita gunakan konstruktor yang mengambil 2 parameter. Yang pertama, adalah kontainer induk di mana Label ini akan ditampilkan, dan parameter kedua adalah bit gaya.



Label label = new Label(shell, SWT.NONE);

Label ini kemudian kita isi dengan kata "Hello Word!" untuk menampilkan kata ini pada jendela utama.



label.setText("Hello, World!");

5. Membuka jendela shell
Setelah Display, Shell, dan widget-widgetnya disiapkan, kita perlu secara eksplisit memerintahkan shell untuk membuka jendela dan menggambar seluruh widget yang sudah disiapkan. Untuk ini kita gunakan perintah


shell.open();

6. Membuat perulangan pengirim event
SWT mengharuskan kita untuk membuat sendiri perulangan untuk mengirimkan event. Artinya, blok perintah berikut ini "harus" selalu ada dalam semua aplikasi SWT yang akan kita buat.
while (!shell.isDisposed())

    if (!display.readAndDispatch()) 
display.sleep();
7. Membuang (dispose) display dan widget-widget lainnya
Karena SWT bekerja langsung dengan widget bawaan sistem operasi, maka tanggung jawab untuk menghapus komponen GUI ada di tangan programmernya. Hal ini disebabkan widget tersebut berada di luar jangkauan pemulung memori Java yang hanya bisa meraih objek yang dibuat dan dijalankan dalam JVM (Java Virtual Machine).
Untuk menghapus widget dari memori, kita dapat menggunakan metode dispose() yang dimiliki oleh hampir semua widget SWT. Pada contoh program ini, kita memiliki 2 widget, yaitu shell dan label, sehingga keduanya harus dihapus dengan menggunakan perintah

display.dispose(); 
label.dispose();
8. Mengimport berbagai paket yang diperlukan oleh program
Kita bisa menggunakan Eclipse untuk membantu kita mengimpor setiap paket (seperti yang diilustrasikan pada bagian sebelumnya), atau menggunakan wildcard seperti import org.eclipse.swt.widgets.*
Beberapa paket penting yang tersedia pada SWT :

Nama PaketKegunaan
org.eclipse.swtBerisi kelas SWT, kumpulan konstanta, dan kelas-kelas pengecualian dan kesalahan
org.eclipse.swt.widgetsWidget dan kelas-kelas yang berhubungan dengannya, misalnya menu, kotak dialog, dukungan event, kelas super abstrak untuk layout, dan sebagainya
org.eclipse.swt.eventsEvent tingkat tinggi, pendengar event, dan colokan (adapter)
org.eclipse.swt.layoutKelas layout standar seperti FillLayout, RowLayout, GridLayout, FormLayout, dan kelas-kelas lainnya
org.eclipse.swt.graphicsHuruf, warna, gambar, dan operasi grafik dasar, seperti untuk menggambar garis dan lingkaran
org.eclipse.swt.customWidget buatan sendiri dan kelas lain yang dibuat khusus untuk Eclipse; tidak bergantung pada platform apapun (implementasinya sama pada semua sistem operasi)
org.eclipse.swt.dndKelas bantuan untuk melakukan drag-and-drop pada berbagai platform
org.eclipse.swt.accessibilityPerluasan untuk memberikan bantuan dan dukungan untuk orang cacat
org.eclipse.swt.printingDukugan printer dan kotak dialog untuk melakukan percetakan
org.eclipse.swt.programBerisi kelas Program, untuk mempermudah pada saat program dijalankan, pemetaan dokumen, dan icon; juga dibuat untuk Eclipse, akan tetapi sangat bergantung pada platformnya (implementasinya bisa berbeda untuk setiap sistem operasi)
org.eclipse.swt.browserMenyediakan widget sebagai web broswer, dan kelas-kelas yang mendukungnya. Menggunakan browser bawaan sistem operasi untuk implementasinya
org.eclipse.swt.awtMenyediakan dukungan untuk membuat UI yang berisi campuran widget dari SWT dan AWT
org.eclipse.swt.win32.oleHanya tersedia pada Windows; menyediakan fasilitas untuk mengakses OLE (Object Linking and Embedding)
sumber:http://delladello-misslek.blogspot.com/search/label/JAVA%20MOKLET

Tidak ada komentar:

Posting Komentar