Sabtu, 16 Juni 2012

~17th~

ga sadar eh ternyata udah 17 tahun nih aku, seharusnya ngpost ini dari minimal 2 minggu sebelumnya. yah, berhubung orang yg bersangkutan ini masih sibuk... so, baru kali ini nih bisa ngpost.

salah satu pengalaman berkesan saat melewati remaja adalah saat kita menginjak usia 17 tahun, gitu kata orang... dan sekarang aku udah berada pada tahap itu. dan tentunya aku juga nglewati saat saat tersebut.

ceritane dimulai saat tgl 2 Juni, nah bertepatan pas dengan Wisuda kelas 3 pagi harine dan Galasesa malem harinya. Nah, di hari ini, aku ngiri banget ma adek kelasku, itu pacarnya Adit anak R3, si Aditnya tuh so sweet banget..... kenapa?? coba tebak??? karena waktu itu bertepatan hari ultah cewe nya dy punya surprise tuh yaitu memberikan kejutan tak terduga k si cwe nya itu, berupa kue ultah + balon yg pada akhirnya mereka terbangkan.... wihhh so sweet banget kan, (#mikir, kapan ya ngalamin kayak gitu :-?)


Minggu, 20 Mei 2012

Kebangkitan (dan) Pendidikan Nasional


Entah kebetulan atau tidak, jika dibulan Mei ada dua peristiwa penting yang menjadi titik kisar Indonesia sebagai bangsa yaitu Hari Pendidikan Nasional dan Hari Kebangkitan Nasional . Dan entah kebetulan atau tidak, jika Hari Pendidikan (2 Mei) justru kita peringati terlebih dahulu sebelum Hari Kebangkitan Nasional (20 Mei). Apakah ini mengindikasikan bahwa sebelum bisa bangkit sebagai bangsa kita harus memajukan dunia pendidikan Indonesia.
Hari Pendidikan Nasional yang kita peringati berdasarkan Surat Keputusan Presiden RI No.305 Tahun 1959 bukan sekedar peristiwa untuk memperingati kembali peran-peran tokoh pendidikan Indonesia–Ki Hajar Dewantara, tetapi lebih penting dari itu untuk melakukan evaluasi terhadap pendidikan di Indonesia. Tulisan ini hendak membicarakan hubungan antara Pendidikan Nasional dan Kebangkitan Nasional yang sama-sama diperingati di bulan Mei.
Ada satu benang penghubung jelas bahwa Ki Hajar Dewantara yang menjadi titik episentrum Hari Pendidikan Nasional (2 Mei adalah hari kelahiran Ki Hajar Dewantara pada tahun 1889) dan Kebangkitan Nasional (beliau juga tokoh Kebangkitan Nasional) tetapi selain itu ia juga adalah salah satu tokoh kebangkitan nasional. Selain nama Ki Hajar Dewantara juga ada nama Sutomo dan dr. Cipto Mangunkusumo serta Douwes Dekker. Bukan kebetulan jika mereka semua adalah juga tokoh-tokoh yang mendapatkan pencerahan pendidikan.


Renungan Hari Kebangkitan Nasional

 Dikutip dari http://amriawan.blogspot.com/2012/05/hari-kebangkitan-nasional-20-mei-2012.html

Hari ini diperingati sebagai  Hari Kebangkitan Nasional, suatu perjalanan Bangsa yang sudah mencapai dua generasi sejak 20 Mei 1908. Kebangkitan Nasional adalah Masa dimana Bangkitnya Rasa dan Semangat Persatuan, Kesatuan, dan Nasionalisme serta kesadaran untuk memperjuangkan kemerdekaan Republik Indonesia, yang sebelumnya tidak pernah muncul selama penjajahan Belanda dan Jepang. Masa ini ditandai dengan dua peristiwa penting yaitu berdirinya Boedi Oetomo (20 Mei 1908) dan ikrar Sumpah Pemuda (28 Oktober 1928). Masa ini merupakan salah satu dampak politik etis yang mulai diperjuangkan sejak masa Multatuli.

Selasa, 15 Mei 2012

Saengil chukae unnie

selamat ulang tahun unnie, tepatnya unnie Sunny pada usianya yang ke 23 tahun. selamat ya....
maaf telat ngucapinnya, hehe... 
perlu diketahui ea...
Nama Lengkap : Lee Sun Kyu
Arti Nama : Permata yang dilahirkan dengan indah
Nama Panggilan di SNSD : Energy Pill
Nama Panggilan lain : Lee Sunny, Lee Sun, Dolphin, Dolphin Sunny, Cute Sunny, Sun Kyu
Tgl. Lahir : 15 Mei 1989
Gol. Darah : B
Tinggi Badan : 158 cm
Berat Badan : 43 kg
Posisi : Membantu Vokal
No. Favorite : 26
Hobi : Renang, main video game, olahraga
Spesial : Atletik
Durasi Latihan : 9 bulan
Lagu Favorite dari SNSD : Ooh-La-La!

Kamis, 26 April 2012

Swing Make Over 2

Kayak gini nih suatu Project yang udah menerapkan Swing make over
jadi cantikkan tampilannya : :)


selamat mencoba, hehe.. ^_^)

Swing Make Over

SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya.

Apa kelebihan SwingX?  SwingX menawarkan fitur-fitur ekstra yang tidak ditemui di Swing secara siap jadi. Sebagai contoh, ada yang disebut sebagai Highlighter, untuk memberi highlight (bisa berupa warna background berbeda dan sebagainya) pada sel tertentu di JXTable, JXList, JXTree, dan sebagainya.  Komponen yang diawali JX kebanyakan adalah turunan dari komponen Swing standar, misalnya JXTable adalah turunan dari JTable.  Demikian juga, JXComboBox adalah turunan dari JComboBoxJXComboBox sudah mendukung fitur highlight dengan adanya fungsi addHighlighter().  Jika kita ingin menampilkan nilai dibawah 50 dengan background merah di JXComboBox, kita dapat menggunakan ColorHighlighter.

sementara ini dulu postingan singkat tentang Java Swing Make Over.
tunggu tutorial yang akan datang :)

sumber : 
http://eecchhoo.wordpress.com/tag/java-swing-make-over/
http://thesolidsnake.wordpress.com/category/java-technology/java-framework-api/

Rabu, 18 April 2012

Chukae unnie Sica

Selamat ulang tahun unnie, . . ..
Nama Lengkap : Jung Soo Yeon, Jessica Jung
Arti Nama : Cantik dan kemewahan / barang mewah
Nama Panggilan di SNSD : Ice Princess
Nama Panggilan Lain : Sic, Sica, Sicachu, Liquid Sica, Sica Effect,, Sica Of Sweat, Baby Sic, Puppet Sic, Sexica, glowing Sic, Sleepy Sica
Tgl. lahir : 18 April 1989
Gol. darah : B
Tinggi badan : 163 cm
Berat badan : 45 kg
Posisi : ketua Vocal yang ke- 2
No. Favorite : 52
Hobi : sepakbola, tinju
Spesial : Dance, bahasa inggris
Durasi latihan : 7 tahun 6 bulan
Lagu favorite dari SNSD : Complete



Selasa, 20 Maret 2012

form dari PHP




nah, gambar di atas ini merupakan tugas dari pak guru
namun sayang belum dikoreksi cz hari sabtu kemaren pulang pagi, ada persiapan kelas 3 UAS
so, ini saya share semoga bermanfaat
tapi ini belum ada apa-apanya, belum ada form loopbacknya, hehehehe


codingnya,


<form method="POST">
<center><table>
    <tr>
    <td colspan="4"><center>FORMULIR PENDAFTARAN <BR> BIRO JODOH 2012<center>
   
    </td>
    </tr>
    <tr>
    <td colspan="5"><hr/></td>
    </tr>
    <tr>
        <td>Nama</td>
        <td>:</td>
        <td colspan="2"><input type="text" name="txtnama"></td>
    </tr>
   
    <tr>
        <td>Kota</td>
        <td>:</td>
        <td colspan="2">
            <select name="kota">
                <option value="1"></option>
                <option value="2">Malang</option>
                <option value="3">Medan</option>
                <option value="4">Jambi</option>
                <option value="5">Nganjuk</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>Tanggal lahir</td>
        <td>:</td>
        <td colspan="2">
        <input type="number" name="txttanggal" maxlength="2" size="2" >
        <select name="bulan">
                <option value="1"></option>
                <option value="2">Januari</option>
                <option value="3">Februari</option>
                <option value="4">Maret</option>
                <option value="6">April</option>
                <option value="7">Mei</option>
                <option value="8">Juni</option>
                <option value="9">Juli</option>
                <option value="10">Agustus</option>
                <option value="11">September</option>
                <option value="12">Oktober</option>
                <option value="13">November</option>
                <option value="14">Desember</option>
            </select>
        <input type="text" name="txttahun" maxlength="4" size="6">
        </td>
    </tr>
    <tr>
        <td valign="top">Makanan kesukaan</td>
        <td valign="top">:</td>
        <td colspan="2">
            <input type="checkBox" name="mk1"> Tahu Telor<br>
            <input type="checkBox" name="mk2" checked="true"> Lalapan<br>
            <input type="checkBox" name="mk3"> Tahu Campur
        </td>
    </tr>
    <tr>
        <td valign="top">Hobi</td>
        <td valign="top">:</td>
        <td colspan="2">
            <input type="checkBox" name="hb1" checked="true"> belajar&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkBox" name="hb3"> tidur <br>
            <input type="checkBox" name="hb2"> membaca<input type="checkBox" name="hb2" checked="true"> nonton TV
        </td>
    </tr>
    <tr>
        <td valign="top">Jenis Kelamin</td>
        <td valign="top">:</td>
        <td colspan="2">
        <input type="radio" name="jk" value="1"checked="true">Perempuan<br>
        <input type="radio" name="jk" value="2">Laki - Laki </td>
    </tr>
    <tr>
        <td valign="top">Alamat</td>
        <td valign="top">:</td>
        <td><textarea></textarea></td>
        <td><input type="reset" value="RESET"><br>
        <input type="submit" value="KIRIM"></td>
    </tr>
</table>
</center>
</form>

masih kurang

ini sedikit hasil dari pengerjaan TA, mungkin kurang maksimal karena lagi liburan, hehehehehe
ini contoh menu untuk login sebagai pemodal
check this out



Senin, 19 Maret 2012

hasil render 3DSMAX

annyoung, ini ada beberapa tugas multimedia
sekarang udah belajar di 3ds MAX looo
check this out
 ini project buat botol pecah, karena outlinenya ketebalen makanya jadi gni. hehehehhe ^_^)

ini project yang terakhir sebelum libur panjang selama seminggu, ini ceritanya buat cincin couple.an

 ini buat gelas, pertamanya pecah dan make' efek relection n refraction. pokonya ngubah" material ituu deh jadinya kayak gni.

#masih butuh banyak belajar.

Kamis, 15 Maret 2012

Kesalahan dalam Bola Basket

Dalam permainan bola basket terdapat dua macam kesalahan, yaitu kesalahan teknik dan kesalahan perorangan. Yang dimaksud dengan kesalahan teknik adalah kesalahan karena
mengabaikan peringatan dan teguran para wasit, atau menggunakan taktik yang tidak sportif. Sedangkan kesalahan perorangan adalah kesalahan yang dilakukan karena persinggungan
badan antara pemain yang berlawanan.

Kesalahan perorangan tunggal adalah persinggungan antara seorang pemain dengan seorang pemain lawan.

Kesalahan rangkap maksudnya pada waktu yang bersamaan atau hampir bersamaan 2 orang pemain atau lebih yang berlawanan saling melakukan persinggungan.

Kesalahan banyak yaitu pada waktu yang bersamaan atau hampir bersamaan 2 orang pemain atau lebih yang melakukan persinggungan terhadap satu orang pemain lawannya.

Kesalahan yang dibuat secara sengaja terhadap lawan misalnya mendorong, menarik, memukul, memegang, atau memasang kaki untuk menjatuhkan lawan. Dengan kesalahan
yang disengaja ini pemain dapat langsung dikeluarkan dari lapangan, meskipun belum 5 kali melakukan kesalahan. Seorang pemain yang melakukan 5 kali kesalahan akan dikeluarkan
dari lapangan dan tidak boleh bermain sampai pertandingan itu selesai.

FOULT (KESALAHAN)

1. Illegal use hand adalah kesalahan yang  dilakukan pemain karena memukul salah satu anggota tubuh lawan.
2. Blocking adalah menghadang lawan dengan menghalangi pergerakan lawan.
3. Elbow adalah pelanggaran yang dilakukan karena menyikut lawan.
4. Holding adalah menarik lawan dengan maksud menguasai bola dari lawan.
5. Pushing adalah mendorong lawan dengan maksud merebut bola atau mencederai dari lawan.
6. Charging adalah kesalahan yang dilakukan karena menabrak lawan yang sudah menepati posisinya.
7. Double foult adalah situasi dimana dua pemain yang berlawanan saling melakukan kesalahan perorangan satu sama lainnya pada waktu bersamaan.
8. Technical foul adalah kesalahan yang dilakukan tanpa persinggungan seorang pemain atas suatu prilaku yang dalam batas kewajaran,tetapi tidak dibatasi untuk:
    >mengabaikan perintah wasit
    >menyentuh wasit
    >berkomunikasi dengan wasit
    >menggunakan bahasa atau isyarat menantang atau menghasud penonton
    >pura-pura menjatuhkan diri untuk mendapatkan kesalahan
9. Unspertman like foul adalah kesalahan perorangan seorang pemain dimana dalam penilaian wasit bukan merupakan suatu usaha yang dibenarkan untuk memainkan bola secara langsung di dalam semangat dan maksud dari peraturan.
10.Disqualifying foul adalah tindakan unsperman like yang menyolok dari seorang pemain,pemain pengganti,pemain yang sudah dilarang masuk,pelatih,asisten pelatih atau pengikut regu.      

Senin, 12 Maret 2012

Pelanggaran dalam Bola Basket

Definisi pelanggaran adalah usaha untuk merugikan pemain lain di luar lingkup aturan.
Mereka biasanya dilakukan melalui kontak fisik.
Pelanggaran biasanya disebut pada pertahanan, namun pemain ofensif dapat melakukan mereka juga.
Seperti disebutkan, pelanggaran bisa menjadi sumber kontroversi karena mereka sepenuhnya diserahkan kepada kebijaksanaan wasit. Ada juga berbagai jenis pelanggaran dan aturan yang berbeda berlaku untuk bagaimana busuk dihukum tergantung pada bermain game pada saat foul.
ini jenis planggaran yang ada dalam prmainan basket:

VIOLATION (PELANGGARAN)

1. Travelling adalah pelanggaran karena    membawa bola tidak di dribble,lebih dari 2 langkah.
2. Illegal dribble adalah pelanggaran yang dilakukan karena menghentikan bola sesaat disalah satu tangan atau kedua tangan kemudian mendribbelnya kembali.
3. Crraying the ball adalah kesalahan yang dilakukan karena mendribble dengan memutar bola.
4. 3 second adalah pelanggaran yang diberikan apabila seorang pemain berada di area tembakan bebas (key area) selama 3 detik.
5. 5 second adalah pelanggaran yang diberikan kepada seorang pemain karena menahan bola selama 5 detik tanpa ada usaha untuk passing ataupun dribble.
6. 8 second adalah pelanggaran yang diberikan kepada tim karena selama 8 detik bola tidak melewati garis tengah(tidak berpindah dari wilayah sendiri).
7. 24 second adalah pelanggaran yang dilakukan sebuah tim yang menguasai bola selama 24 detik tidak ada usaha memasukkan bola ke ring lawan.
8. Back court adalah pelanggaran karena pemain yang membawa bola kembali ke daerah  pertahanan setelah melewati garis tengah.
9. Deliberat foot ball
10. Out of ball

Sabtu, 10 Maret 2012

Timpang

Hubungan yang timpang takkan bertahan indah dalam jangka panjang. Pilihannya hanyalah dicabang atau ditebang.
Hei, kadang saya penasaran bagaimana rasanya jadi beras atau merica. Seperti apa rasanya dituang dalam wadah logam lalu diusahakan sejajar dengan pemberat ukuran gram.
Seperti apa rasanya berada dalam posisi imbang?
Setelah mengalami dan mengamati beragam jenis hubungan, saya sedikit berpikir. Menanyakan hati, seperti apa rasanya berada dalam sebuah hubungan yang timpang? Dengan hak istimewa seorang perempuan yang senang bercerita dan mendengarkan, saya banyak dicurhati teman. Mereka mengatakan sering mengalami “ketidakadilan” sebuah hubungan.

 “Kayaknya kok aku terus yang berusaha“, kata seorang.
Dia maunya cuma didengarkan, aku capek. Dia tidak mau mendengar omonganku“, keluh yang lain.
Aku sebal, kok dia gak pernah cerita apa-apa ya sama aku?” curhat lainnya.
Well…yah…tak jarang komunikasi jadi sumbang setelah sekian waktu. Hidup ini memang penuh hubungan semacam itu.  Hubungan yang timpang dan tidak imbang.
Karena sebuah hukum tarik-tarikan, maka tak ada satupun jenis hubungan yang tidak mengalami ketimpangan. Misalnya, seorang Ibu merasa lelah luar biasa karena merasa cintanya sia-sia: anaknya cuek pada perasaannya dan bersikap durhaka. Karyawan baru merasa diabaikan atasan yang lebih sayang pada pegawai lama dan menganggap kerja keras yang sudah ia upayakan tak ada artinya. Seekor anjing merasa iri pada kucing baru peliharaan majikannya #eh.
Sebuah hal sederhana semacam pertemanan bisa sedikit mematahkan hati selain masalah percintaan. Misal ya, jika kita berteman, kita memang bahagia dan merasa beruntung memiliki teman-teman yang menyediakan telinganya untuk mendengar cerita, bahu untuk bersandar, tawa untuk ditularkan atau pikiran gila yang mencerahkan. Tapi bagaimana jika satu pihak bertindak “lebih” sementara yang lain bertindak “kurang”? Ada pihak yang lebih suka diam dan mendengarkan, sementara ada pihak lain yang gemar bercerita dan menyuarakan perasaan alias curhat. Tapi kemudian kedua sisi itu bertukar posisi dan mereka mulai berpikir ada yang kurang. Mengapa ia tak mau ganti mendengar atau tak mau ganti bercerita?
Bercerita sepertinya sederhana. Simpel. Tidak sulit. Kegiatan tanpa mengeluarkan dana dan bisa dilakukan kapan saja. Apa iya?
Jika ditanya, saya memang hobi bicara. Tapi ada kalanya, saya ingin mendengar cerita. Saya selalu merasa ada yang kurang andaikan pihak sayalah satu-satunya yang terus bercerita. Tanpa jeda. Sampai kehabisan bahan bicara. Kok bisa? Karena, pihak satunya tidak mengomentari, menanggapi, atau menambahkan wacana dari pihaknya. Saya seperti main gitar dengan satu tangan. Tidak bunyi. Masih mending main Squash (gaya luuu..Squash! kayak ngerti aja!). Setidaknya bola yang saya pukul memantul. Bisa saya pukul lagi dan lagi sampai menghantam muka sendiri. Tapi main Squash saja ada teman mainnya. Menghadapi bola yang sama, dinding yang sama…bersama-sama.
Membina sebuah hubungan memang tidak gampang. Butuh usaha dan usaha dan usaha. Tampaknya memang mudah, “Ah..sudah jadi pacar ini, kurang apa lagi.” “Ah, besok kan masih ada waktu ketemuan. Kayak gak ada hari lain aja.” Bla dan bla dan bla. Maka kalau sudah begitu jangan heran kalau jenis hubungan apapun yang dimiliki lalu merenggang. Kadang kelelahan disalahkan sebagai faktor kita meremehkan suatu hubungan. Ada juga faktor pembiaran dan kesalahpahaman. Hubungan keluarga masih mendingan, terselamatkan faktor garis keturunan. Amit-amit kalau ada anak yang berseteru dengan orang tua layaknya perang Amerika-Rusia. Haloo…itu ayah ibu lho. Ingat? Yang membuat kamu ada di dunia berwujud manusia.
Hubungan yang dijalin antara orang asing yang kemudian menjadi teman atau kekasih atau rekan adalah yang (setidaknya) paling memerlukan trik penanganan. Kalau hanya pasif saja, hubungan-hubungan itu takkan bertahan.
Seorang teman mengakui bahwa ia pernah dalam posisi seorang yang saya keluhkan: hanya diam mendengarkan dan jarang bercerita tentang diri sendiri pada temannya. Dulu ia berpikir, bahwa ia menjadi seorang teman yang baik dengan lebih banyak mendengarkan. Tapi kemudian temannya mengungkapkan ketidakpuasan dengan alasan ketidakadilan. “Curang dong kalau aku terus yang cerita, nanti kamu yang pegang kelemahanku”, ujar temannya kala itu.
Mungkin benar itu masalah siapa memegang kelemahan siapa. Tapi buat saya, hal itu lebih terlihat sebagai persoalan kepercayaan. Rahasia adalah hal terakhir yang ingin kita bicarakan dengan orang lain karena berkaitan dengan kunci kelemahan. Tapi justru disitulah suatu hubungan diuji. Cukup percayakah kamu pada orang lain untuk menceritakan rahasiamu? Tentu saja bukan untuk disebar layaknya gosip murahan. Tapi, membiarkan orang mengintip atau mengetahui sedikit tentang diri kita akan membuat mereka semakin percaya dan setia. Mereka memahami letak keinginan dan harapan kita. Mereka menjadi paham nilai-nilai yang kita pegang dan bebas menjadi diri sendiri saat bersama kita.
Maka, nasehat yang mengatakan “biarkan orang lain berkesempatan bicara lebih, sebaiknya kita banyak mendengarkan” dalam suatu komunikasi harus disikapi sebijak mungkin. Kalau setiap pelibat komunikasi menerapkannya mentah-mentah, apa yang kemudian terjadi? SEPI. Semua orang sibuk diam dan mendengarkan tapi tidak ada yang bercerita dan membuka diri.
Bagaimana dengan saya sendiri?
Saya pun mengalami fase-fase hubungan timpang. Dulu saya tidak terima. Saya benci menjalani hubungan yang tidak seimbang. Tapi sekarang saya hanya lebih berusaha dewasa dan mencoba memahami sisi-sisi lain persoalan. Oh, dia sedang sibuk. Oh, dia hanya lupa. Oh, dia tak ada waktu, dan sebagian alasan lain yang saya jadikan permakluman.
Satu hal yang saya jadikan pegangan: Hubungan yang timpang takkan bertahan indah dalam jangka panjang. Pilihannya hanyalah dicabang atau ditebang.
Dicabang adalah ketika saya menyadari tak lagi bisa memperjuangkan hubungan sendirian. Ia terlanjur merenggang. Hal ini alami sebetulnya. Toh, kita akan selalu bertemu orang baru dalam perjalanan waktu. Maka sambil terus mempertahankan hubungan lama yang ada (yang saya biarkan alami apa adanya: tanpa perasaan berlebihan semacam amarah atau kekecewaan terpendam), saya akhirnya mencari kesempatan dalam hubungan-hubungan baru. Dengan adanya dinamika hubungan satu mengisi kebutuhan yang tak bisa diisi hubungan yang lain, saya merasakan utuh dan baik-baik saja.
Sementara ini saya belum pernah memilih opsi kedua: Menebang hubungan yang renggang. Setidaknya, tidak dengan sengaja. Saya adalah orang yang ingin mempertahankan hubungan sebaik-baik yang bisa saya upayakan. Mungkin sedikit terlalu loyal, tapi bukan saya yang menjauh setidaknya.
Beberapa orang tidak berani menebang. Mereka lebih memilih untuk bercabang dan mendapatkan keutuhan dari sana. Menebang hanya opsi terakhir saat kita tak lagi sanggup bertahan dan  hubungan itu terlalu melibatkan perasaan semacam amarah dan dendam.
Untuk jenis hubungan tak sehat yang hanya menggerogoti kewarasan diri, saya akan mencoba berani menebang. Agar darinya, saya bisa belajar menumbuhkan pucuk harapan. Harapan untuk suatu hubungan yang menyehatkan dan membuat arti bagi keberadaan saya di kehidupan.
Dalam pencarian terus akan situasi berimbang,

Kamis, 08 Maret 2012

Konferensi Tingkat Tinggi Asia-Afrika


Konferensi Tingkat Tinggi Asia-Afrika (KTT Asia-Afrika; kadang juga disebut Konferensi Bandung) adalah sebuah konferensi tingkat tinggi antara negara-negara Asia dan Afrika, yang kebanyakan baru saja memperoleh kemerdekaan. KTT ini diselenggarakan oleh Indonesia, Myanmar (dahulu Burma), Sri Lanka (dahulu Ceylon), India dan Pakistan dan dikoordinasi oleh Menteri Luar Negeri Indonesia Roeslan Abdulgani. Pertemuan ini berlangsung antara 18 April-24 April 1955, di Gedung Merdeka, Bandung, Indonesia dengan tujuan mempromosikan kerjasama ekonomi dan kebudayaan Asia-Afrika dan melawan kolonialisme atau neokolonialisme Amerika Serikat, Uni Soviet, atau negara imperialis lainnya.
Sebanyak 29 negara yang mewakili lebih dari setengah total penduduk dunia pada saat itu mengirimkan wakilnya. Konferensi ini merefleksikan apa yang mereka pandang sebagai ketidakinginan kekuatan-kekuatan Barat untuk mengkonsultasikan dengan mereka tentang keputusan-keputusan yang memengaruhi Asia pada masa Perang Dingin; kekhawatiran mereka mengenai ketegangan antara Republik Rakyat Cina dan Amerika Serikat; keinginan mereka untuk membentangkan fondasi bagi hubungan yang damai antara Tiongkok dengan mereka dan pihak Barat; penentangan mereka terhadap kolonialisme, khususnya pengaruh Perancis di Afrika Utara dan kekuasaan kolonial perancis di Aljazair; dan keinginan Indonesia untuk mempromosikan hak mereka dalam pertentangan dengan Belanda mengenai Irian Barat.
Sepuluh poin hasil pertemuan ini kemudian tertuang dalam apa yang disebut Dasasila Bandung, yang berisi tentang "pernyataan mengenai dukungan bagi kedamaian dan kerjasama dunia". Dasasila Bandung ini memasukkan prinsip-prinsip dalam Piagam PBB dan prinsip-prinsip Nehru.
Konferensi ini akhirnya membawa kepada terbentuknya Gerakan Non-Blok pada 1961.

Widget-widget SWT

Pada bagian ini akan kita bahas widget-widget yang disediakan oleh SWT. Kelas Widget merepresentasikan semua objek user interface. Kelas ini adalah kelas abstrak yang tidak bisa langsung diinstansiasi.
Berikut ini adalah metode-metode yang dimiliki oleh seluruh widget turunan dari kelas abstrak Widget yang mencakup hampir seluruh widget SWT.
MetodePenjelasan
dispose()Menghapus widget dari memori.
isDisposed()Mengembalikan true jika widget ini sudah dihapus dari memori
setData(Object o)Menambahkan data tambahan (terserah kita) ke dalam suatu widget. Data ini disebut data aplikasi. Data ini tidak akan ditampilkan pada widget.
getData()Mengembalikan Object yang merupakan data yang bisa kita tambahkan ke dalam widget
setData(String key, Object o)Jika kita akan menambahkan banyak data ke dalam objek, akan lebih mudah jika kita menandai data tersebut dengan suatu kunci key. Data ini tidak akan ditampilkan pada widget.
getData(String key)Mengembalikan Object yang merupakan data tambahan ke suatu widget, yang memiliki kunci key
getStyle()Mengembalikan int yang merupakan bit gaya suatu widget.
Event ini terdapat pada semua kelas turunan dari kelas abstrak Widget
Kelas Event (event bertipe)Interface/Kelas Listener (listener bertipe)Metode (listener bertipe)Jenis event (event tanpa tipe)Penjelasan
DisposeEventDisposeListenerwidgetDisposed(DisposeEvent)SWT.DisposeWidget dihapus

Pengenalan Konsep Widget pada SWT

Secara tradisional, widget bisa dibayangkan seperti perangkat abstrak yang berguna untuk melakukan tugas tertentu. Istilah ini popules dalam bidan ekonomi. Para pembuat software meminjam istilah ini untuk menyebut suatu paket program pembuat GUI (grahical user interface). SWT adalah kepanjangan dari Standard Widget Toolkit karena widget merupakan dasar pembangun suatu aplikasi yang dibangun dengan menggunakan SWT.
Apa itu widget?
Widget adalah elemen GUI yang dapat berinteraksi dengan user. Widget mengatur dan menentukan kondisinya sendiri dengan memggunakan kombinasi beberapa operasi grafik. Dengan menggunakan mouse atau keyboard, user bisa mengubah kondisi suatu widget. Ketika kondisi suatu widget berubah, baik diubah oleh user ataupun diubah oleh suatu kode program, maka widget akan menggambar dirinya kembali untuk merefleksikan hasil perubahannya.
Siklus hidup widget
Widget memiliki siklus hidup sendiri. Widget dibuat oleh programmer dan dibuang ketika tidak lagi dibutuhkan. Karena siklus hidup suatu widget sangat penting untuk memahami SWT, maka kita akan bahas lebih jauh pada bagian ini.
1. Membuat Widget
Widget dibuat dengan menggunakan konstruktornya, atau dengan kata lain membuat instansi suatu kelas. Ketika widget dibuat, widget akan mengambil sumber daya komputer (memori, prosesor) dari sistem operasi. Artinya semua widget akan berada di level sistem operasi, sehingga unjuk kerja dan pengaturan memori akan lebih optimal.
Konstruktor akan mengambil argumen yang biasanya tidak akan bisa diubah setelah widget dibuat. Ada 4 kemungkinan konstruktor dari suatu jenis widget :
  • Widget()
  • Widget(Widget induk)
  • Widget(Widget induk, int bitGaya)
  • Widget(Widget induk, int bitGaya, int posisi)
Widget tidak bisa dibuat tanpa induk. Ini bisa dilihat dari pengenalan tentang widget di bagian sebelumnya bagaimana widget tersusun secara hirarkis. Jenis induknya tergantung dari jenis widgetnya. Misalnya, induk dari suatu menu harus berupa menu, dan tidak bisa berupa tombol. Kompiler akan mengecek apakah induk suatu widget sesuai dengan tipenya, jika tidak, kompiler akan menampilkan pesan kesalahan. (Pada beberapa platform, kita dibolehkan untuk mengubah induk suatu widget. Akan tetapi SWT tidak memiliki metode getParent() pada kelas-kelas Widgetnya. Ini disebabkan karena kompleksitasnya yang mengharuskan kita untuk melakukan type cast kepada tipe induk yang benar.)
Bit gaya (style) adalah nilai bit integer yang digunakan untuk mengatur perilaku dan tampilan suatu widget. Biasanya bit gaya hanya dibutuhkan pada saat widget dibuat, misalnya memilih jenis editor multi baris atau baris tunggal. Karena atribut ini tidak bisa diubah setelah widget dibuat, maka gaya suatu widget juga tidak bisa diubah setelah widget diinstansikan.
Semua gaya widget dikumpulkan sebagai konstanta pada kelas org.eclipse.swt.SWT. Kita bisa menggambungkan beberapa gaya dengan menggunakan operasi OR. Misalnya kode berikut akan membuat widget teks multi baris yang memiliki tepi serta scroll bar horizontal dan vertikal.
Text teks = new Text (induk, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
Gaya suatu widget bisa kita ambil setelah widget tersebut dibuat dengan menggunakan metode instansi getStyle(). Untuk mengujinya, kita bisa menggunakan operasi AND yang jika hasilnya tidak nol, maka widget tersebut memiliki gaya yang diuji. Misalnya, kode berikut menguji apakah suatu widget teks memiliki tepi, kemudian mencetak hasilnya pada konsol.
if ((teks.getStyle() & SWT.BORDER) != 0)
    System.out.println("teks memiliki tepi");
else
    System.out.println("teks tidak memiliki tepi");
Paremeter posisi memungkinkan kita membuat widget baru pada suatu induk di posisi tertentu. Jika tidak diberikan, maka secara otomatis widget baru akan ditempatkan di akhir posisi. Hal ini akan lebih memudahkan kita untuk membuat widget pada urutan tertentu, misalnya membuat menu dengan urutan tertentu.
2. Membuang widget
Ketika widget tidak lagi dibutuhkan, termasuk ketika program selesai, maka widget harus dihapus secara eksplisit dengan menggunakan metode instansi dispose(). Metode ini akan menyembunyikan widget, menghapus widget yang ditampungnya, dan membuat semua referensi di dalamnya menjadi null.
Jika metode dispose() tidak dipanggil setelah program selesai dijalankan, maka hal ini akan menyebabkan kebocoran memori, di mana memori pada sistem operasi lambat laun akan habis dipenuhi oleh widget yang tidak dihapus setelah program selesai.
Memanggil metode dispose() untuk widget yang sudah dibuang, akan melemparkan pengecualian SWTException. Untuk mengetahui apakah suatu widget sudah dihapus, kita bisa menggunakan metode instansi isDisposed().
Ada dua aturan yang penting untuk diingat :
  • Jika Anda membuat widget, maka pastikan Anda menghapusnya. Atau dengan kata lain, semua widget yang Anda buat dengan konstruktor wajib dihapus. Akan tetapi jika Anda mendapatkan widget dari metode instansi suatu widget, misalnya Font huruf = kontrol.getFont(), maka Anda tidak perlu menghapusnya
  • Jika Anda menghapus suatu widget, maka semua widget di bawahnya akan dihapus juga. Atau dengan kata lain, jika Anda menghapus suatu Shell, maka isi seluruh Shell akan dihapus secara otomatis. Demikian juga halnya dengan menu, jika Anda menghapus menu utama, maka semua sub-menu akan otomatis dihapus.

Mengkompilasi dan Membuat Program SWT Berjalan di Luar Eclipse

Untuk bisa membuat program kita berguna untuk orang lain, kita harus bisa mengkompilasi dan membuat program tersebut sebagai satu "paket". Proses ini disebut menyebarkan (deploy). Pada Eclipse, program yang telah kita buat bisa kita deploy dalam format JAR (Java Archive), yang menggabungkan semua file kelas yang sudah dikompilasi beserta pustaka yang dibutuhkan untuk bisa menjalankan program tersebut.
Mari kita lihat contoh program HelloSWT yang sudah dibahas sebelumnya. Untuk men-deploy program ini sehingga bisa dijalankan di luar Eclipse, lakukan langkah-langkah berikut :
  • Klik kanan pada nama proyek Anda, kemudian pilih Export. Setelah itu kotak dialog akan terbuka. Kemudian pilih Runnable JAR File dari dalam folder Java.
  • Pilih HelloSWT - HelloSWT pada Launch configuration dan juga masukkan di mana file JAR hasilnya akan ditempatkan. Jika nama direktori tidak diberikan, Eclipse akan meletakkan file JAR tersebut pada direktori di mana workspace berada, yaitu di mana data proyek ditempatkan. (Misalnya, di komputer saya proyek HelloSWT berada pada direktori C:\belajarjava.lyracc.com\HelloSWT, maka file JAR tersebut akan diletakkan pada direktori C:\belajarjava.lyracc.com\)

  • Klik Finish, kemudian OK untuk setiap pertanyaan yang mungkin muncul berikutnya. Sekarang, gunakan Windows Explorer untuk mencari di mana file JAR hasilnya berada. Double click pada file tersebut dan Anda akan bisa menjalankannya langsung seperti aplikasi lainnya. Anda bisa juga mengirimkan file ini melalui email atau mengkopinya melalui flash disk ke teman atau kerabat Anda tanpa perlu menyertakan Eclipse.

  • CATATAN : Ingat bahwa SWT bergantung penuh pada sistem operasi yang Anda gunakan, karena SWT menggunakan widget bawaan sistem operasi seperti dijelaskan pada bagian sebelumnya. Ketika Anda membuat program ini pertama kali, Anda menambahkan pustaka SWT yang spesifik terhadap sistem operasi di mana Eclipse berjalan. Artinya, jika Anda menambahkan pustaka org.eclipse.swt.win32.win32.x86_3.4.1.v3449c, maka program JAR Anda hanya akan bisa dijalankan pada sistem operasi Windows. Untuk bisa menjalankannya pada sistem operasi lain, misalnya Linux, maka Anda harus menambahkan pustaka SWT khusus Linux yang bisa diunduh secara terpisah atau menggunakan Eclipse pada Linux.
  • Berikut ini adalah screen shot hasil jalannya program

Stream, Reader, dan Writer

Tanpa bisa berinteraksi dengan dunia lain, suatu program tidak ada gunanya. Interaksi suatu program dengan dunia lain sering disebut input/output atau I/O. Sejak dulu, salah satu tantangan terbesar untuk mendesain bahasa pemrograman baru adalah mempersiapkan fasilitas untuk melakukan input dan output. Komputer bisa terhubung dengan beragam jenis input dan output dari berbagai perangkat. Jika bahasa pemrograman harus dibuat secara khusus untuk setiap jenis perangkat, maka kompleksitasnya akan tak lagi bisa ditangani.
Salah satu kemajuan terbesar dalam sejarah pemrograman adalah adanya konsep (atau abstraksi) untuk memodelkan perangkat I/O. Dalam Java, abstraksi ini disebut dengan aliran (stream). Bagian ini akan memperkenalkan tentang aliran, akan tetapi tidak menjelaskan dengan komplit. Untuk lebih lengkapnya, silakan lihat dokumen resmi Java.
Ketika berhubungan dengan input/output, kita harus ingat bahwa ada dua kategori data secara umum : data yang dibuat oleh mesin, dan data yang bisa dibaca manusia. Data yang dibuat mesin ditulis dengan model yang sama dengan bagaimana data tersebut disimpan di dalam komputer, yaitu rangkaian nol dan satu. Data yang bisa dibaca manusia adalah data dalam bentuk rangkaian huruf. Ketika kita membaca suatu bilangan 3.13159, kita membacanya sebagai rangkaian huruf yang kita terjemahkan sebagai angka. Angka ini akan ditulis dalam komputer sebagai rangkaian bit yang kita tidak mengerti.
Untuk menghadapi kedua jenis data ini, Java memiliki dua kategori besar untuk aliran : aliran byte untuk data mesin (byte stream), dan aliran karakter (character stream) untuk data yang bisa dibaca manusia. Ada banyak kelas yang diturunkan dari kedua kategori ini.
Setiap objek yang mengeluarkan data ke aliran byte masuk sebagai kelas turunan dari kelas abstrak OutputStream. Objek yang membaca data dari aliran byte diturunkan dari kelas abstrak InputStream. Jika kita menulis angka ke suatu OutputStream, kita tidak akan bisa membaca data tersebut karena ditulis dalam bahasa mesin. Akan tetapi data tersebut bisa dibaca kembali oleh InputStream. Proses baca tulis data akan menjadi sangat efisien, karena tidak ada penerjemahan yang harus dilakukan : bit yang digunakan untuk menyimpan data di dalam memori komputer hanya dikopi dari dan ke aliran tersebut.
Untuk membaca dan menulis data karakter yang bisa dimengerti manusia, kelas utamanya adalah Reader dan Writer. Semua kelas aliran karakter merupakan kelas turunan dari salah satu dari kelas abstrak ini. Jika suatu angka akan ditulis dalam aliran Writer, komputer harus bisa menerjemahkannya ke dalam rangkaian karakter yang bisa dibaca maunsia.
Membaca angka dari aliran Reader menjadi variabel numerik juga harus diterjemahkan, dari deretan karakter menjadi rangkaian bit yang dimengerti komputer. (Meskipun untuk data yang terdiri dari karakter, seperti dari editor teks, masih akan ada beberapa terjemahan yang dilakukan. Karakter disimpan dalam komputer dalam nilai Unicode 16-bit. Bagi orang yang menggunakan alfabet biasa, data karakter biasanya disimpan dalam file dalam kode ASCII, yang hanya menggunakan 8-bit. Kelas Reader dan Writer akan menangani perubahan dari 16-bit ke 8-bit dan sebaliknya, dan juga menangani alfabet lain yang digunakan negara lain.)
Adalah hal yang mudah untuk menentukan apakah kita harus menggunakan aliran byte atau aliran karakter. Jika kita ingin data yang kita baca/tulis untuk bisa dibaca manusia, maka kita gunakan aliran karakter. Jika tidak, gunakan aliran byte. System.in dan System.out sebenarnya adalah aliran byte dan bukan aliran karakter, karenanya bisa menangani input selain alfabet, misalnya tombol enter, tanda panah, escape, dsb.
Kelas aliran standar yang akan dibahas berikutnya didefinisikan dalam paket java.io beserta beberapa kelas bantu lainnya. Kita harus mengimpor kelas-kelas tersebut dari paket ini jika kita ingin menggunakannya dalam program kita. Artinya dengan menggunakan "import java.io.*" di awal kode sumber kita.
Aliran tidak digunakan dalam GUI, karena GUI memiliki aliran I/O tersendiri. Akan tetapi kelas-kelas ini digunakan juga untuk file atau komunikasi dalam jaringan. Atau bisa juga digunakan untuk komunikasi antar thread yang sedang bekerja secara bersamaan. Dan juga ada kelas aliran yang digunakan untuk membaca dan menulis data dari dan ke memori komputer.

Listener

Supaya suatu event berarti, suatu program harus bisa mendeteksi event dan bereaksi akan event tersebut. Untuk mendeteksi suatu event, suatu program harus mendengarkannya. Mendengarkan event ini dilakukan oleh objek yang berna,a pendengar event (event listener). Objek listener harus memiliki metode instansi untuk menangani event yang didengarkannya. Bentuknya bervariasi tergantung dari jenis event yang ditanganinya.
Ada beberapa hal detail yang harus diingat untuk bisa bekerja dengan event. Beberapa langkah yang harus diingat :
1. Menambahkan import paket yang dibutuhkan, misalnya "org.eclipse.swt.events"
2. Mendeklarasikan kelas yang mengimplementasikan interface suatu listener
3. Menambahkan aksi yang dilakukan oleh kelas baru tersebut. Aksi ini adalah aksi yang dilakukan untuk menangani suatu event
4. Mendaftarkan event tersebut ke komponen yang mungkin memberikan event.
Objek apapun bisa bertindah sebagai event listener asalkan ia mengimplementasikan interface yang tepat. Suatu komponen dapat mendengarkan event yang dihasilkannya sendiri. Suatu kelas dapat dibuat secara khusus hanya untuk mendengarkan suatu event. Kebanyakan orang menganggap lebih mudah untuk menggunakan kelas bertingkat anonim untuk mendengarkan suatu objek. (Kelas bertingkat anonim telah dibahas sebelumnya di sini).
Seperti hanya Event, SWT memiliki dua jenis listener : tanpa tipe dan bertipe. Masing-masing digunakan untuk menangani event tanpa tipe dan event bertipe.
Listener Tanpa Tipe (untuk menangani event tanpa tipe)
nterface generik yang digunakan untuk menangai event tanpa tipe dinamakan Listener. Listener tanpa tipe dapat ditambahkan pada suatu widget dengan menggunakan metode addListener().
Metode addListener() memiliki bentuk seperti
addListener(int jenisEvent, Listener listener)
Metode ini akan menambah listener ke dalam koleksi listener yang akan dipanggil ketika event tipe tertentu terjadi. Ketika suatu event terjadi, maka listener akan dipanggil dengan menggunakan metode handleEvent().
Contoh berikut mengilustrasikan bagaimana menambah suatu Listener ke dalam suatu widget, yang akan dipanggil ketika event SWT.Dispose terjadi.
widget.addListener(SWT.Dispose, new Listener() {
    public void handleEvent(Event event) {
        // widget was disposed
    }
});
Perhatikan bahwa bentuk di atas menggunakan kelas anonim yang langsung diturunkan dari interface Listener. Di dalam kelas anonim tersebut, metode handleEvent() harus diimplementasikan, di mana implementasinya adalah tugas yang harus dilakukan ketika widget dihapus.
Jika beberapa listener ditambahkan, maka mereka akan dipanggil dengan urutan ketika mereka ditambahkan (first in first called). Artinya listener pertama diberi kesempatan untuk mengolah event (mungkin untuk memfilter sejumlah data) sebelum listener lain melakukan tugasnya. Kita juga bisa menambah listener yang sama beberapa kali, yang artinya listener tersebut akan dipanggil beberapa kali.
Kita bisa menghapus listener dari suatu widget dengan menggunakan metode removeListener(). Bentuknya adalah sebagai berikut
removeListener(int jenhsEvent, Listener listener)Untuk menghapus suatu listener, kita harus memberikan instansi yang persisi sama ketika listener tersebut ditambahkan. JIka beberapa instansi listener yang sama sudah ditambahkan sebelumnya, maka kita harus menghapusnya berulang kali sejumlah ia ditambahkan. Secara umum, menghapus suatu listener mungkin tidak diperlukan. Listener akan diambil oleh pemulung memori ketika suatu widget dihapus dan listener ini tidak lagi digunakan di manapun di dalam program.
Kita juga bisa memanggil suatu listener untuk melakukan tugas tertentu, yaitu dengan menggunakan metode notifyListeners, yang memiliki bentuk seperti
notifyListeners(int jenisEvent, Event event)jenisEvent adalah jenis event yang akan dilakukan, dan Event adalah objek yang berisi event yang akan dilakukan. Hal penting yang harus dicatat adalah memanggil metode notifyListeners() tidak menyebabkan event akan benar-benar terjadi. Misalnya memanggil notifyListeners() dengan jenis SWT.MouseDown tidak akan menyebabkan tombol terlihat seperti ditekan. Dan juga memanggil notifyListeners() tidak menjamin bahwa semua data pada event terinisialisasi seperti pada event sesungguhnya.
Listener Bertipe (untuk menangani Event bertipe)
Karena event bertipe dibuat mengikuti pola listener pada JavaBeans, penggunaan listener bertipe sangat mirip dengan penggunaan listener pada AWT/Swing.
Misalnya untuk mendengarkan event ketika suatu widget dihapus, maka aplikasi bisa menggunakan addDisposeListener(), yang memiliki bentuk seperti
addDisposeListener(DisposeListener listener)
Metode ini menambahkan listener ke dalam koleksi listener yang akan dipanggil ketike suatu widget dihapus. Ketika suatu widget dihapus, maka listener akan dipanggil dengan memanggil metode widgetDisposed().
Potongan kode berikut digunakan untuk menangani event ketika suatu widget dihapus.
widget.addDisposeListener(new DisposeListener() {
    public void widgetDisposed(DisposeEvent dvent) {
        // widget was disposed
    }
});
DisposeListener adalah suatu interface. Jika ada lebih dari satu metode yang didefinisikan dalam listener, maka SWT akan secara otomatis menambahkan kelas adapter yang berisi implementasi kosong dari metode-metode yang didefinisikan pada interface tersebut. Misalnya interface SelectionListener memiliki dua metode, yaitu widgetSelected() dan widgetDefaultSelected, yang keduanya mengambil argumen bertipe SelectionEvents. Dalam hal ini kelas SelectionAdapter tersedia untuk memberikan implementasi kosong untuk setiap metode. Kelas adapter ini hanyalah sebagai kelas bantu yang sesuai dengan konvensi pada listener JavaBeans.
Listener bertipe bisa dihapus dengan menggunakan metode penghapus untuk setiap listner. Misalnya, listener untuk event ketika suatu widget dihapus bisa dibuang dengan menggunakan removeDisposeListener(), yang memiliki bentuk
removeDisposeListener(DisposeListener listener)listener adalah objek listener yang akan dihapus dari koleksi listener yang dipanggil ketika widget dihapus.
Tabel berikut merangkum event bertipe, nama interface listener yang menanganinya, serta metode pada interface tersebut, dibandingkan dengan listener tanpa tipe.
Event BertipeInterface ListenerMetodeJenis Event Tanpa Tipe
ArmEventArmListenerwidgetArmed(ArmEvent)SWT.Arm
ControlEventControlListener (dan ControlAdapter)controlMoved(ControlEvent)
controlResized(ControlEvent)
SWT.Move
SWT.Resize
DisposeEventDisposeListenerwidgetDisposed(DisposeEvent)SWT.Dispose
FocusEventFocusListener (dan FocusAdapter)focusGained(FocusEvent)
focusLost(FocusEvent)
SWT.FocusIn
SWT.FocusOut
HelpEventHelpListenerhelpRequested(HelpEvent)SWT.Help
KeyEventKeyListener (dan KeyAdapter)keyPressed(KeyEvent)
keyReleased(keyEvent)
SWT.KeyDown
SWT.KeyUp
MenuEventMenuListener (dan MenuAdapter)menuHidden(MenuEvent)
menuShown(MenuEvent)
SWT.Hide
SWT.Show
ModifyEventModifyListenermodifyText(ModifyEvent)SWT.Modify
MouseEventMouseListener (dan MouseAdapter)mouseDoubleClick(MouseEvent)
mouseDown(MouseEvent)
mouseUp(MouseEvent)
SWT.MouseDoubleClick
SWT.MouseDown
SWT.MouseUp
MouseEventMouseMoveListenermouseMove(MouseEvent)SWT.MouseMove
MouseEventMouseTrackListener (dan MouseTrackAdapter)mouseEnter(MouseEvent)
mouseExit(MouseEvent)
mouseHover(MouseEvent)
SWT.MouseEnter
SWT.MouseExit
SWT.MouseHover
PaintEventPaintListenerpaintControl(PaintEvent)SWT.Paint
SelectionEventSelectionListener (dan SelectionAdapter)widgetDefaultSelected(SelectionEvent)
widgetSelected(SelectionEvent)
SWT.DefaultSelection
SWT.Selection
ShellEventShallListener (dan ShellAdapter)shellActivated(ShellEvent)
shellClosed(ShellEvent)
shellDeactivated(ShellEvent)
shellIconified(ShellEvent)
shellDeiconified(ShellEvent)
SWT.Activate
SWT.Close
SWT.Deactivate
SWT.Iconify
SWT.Deiconify
TraverseEventTraverseListenerkeyTraversed(TraverseEvent)SWT.Traverse
TreeEventTreeListener (dan TreeAdapter)treeCollapsed(TreeEvent)
treeExpanded(TreeEvent)
SWT.Collapse
SWT.Expand
VerifyEventVerifyListenerverifyText(VerifyEvent)SWT.Verify