PROGRAMMING #23 : Java Programming for Programmer - The Basics of Java GUI (PART 6) | [BAHASA]

in #indonesia7 years ago

dzone.com

Pada materi kali ini merupakan lanjutan dari materi sebelumnya yang telah saya bahas yaitu Java Programming for Programmer - The Basics of Java GUI (PART 5) | [BAHASA]. Masih dalam topik yang sama, dimana saya akan membahas mengenai dasar-dasar GUI pada Java. Materi ini merupakan suatu penerapan langsung yang saya tuangkan kedalam wadah nyata dari perkembangan teknologi masa modern saat ini, tak lain ialah steemit yang menjadi pusat penerapan ilmu pengetahuan "ya... tentu saja! menurut pendapat saya sendiri". Maka dari itu langsung saja pada pokok pembahasan berikut ini.

Tipe Event GUI dan Antarmuka Listener

Pada bagian sebelumnya, anda telah memahami bahwa informasi tentang event yang terjadi ketika pengguna menekan Enter pada sebuah bidang teks disimpan didalam objek ActionEvent. Ada beberapa tipe event yang dapat terjadi ketika pengguna berinteraksi dengan GUI. Informasi event disimpan didalam sebuah ojek dari kelas yang mewarisi AWTEvent (dari paket java.awt). Gambar 2.8 mengilustrasikan sebuah hierarki yang memuat beberapa kelas event dari paket java.awt.event. Semua tipe event ini digunakan dengan kedua komponen AWT dan Swing.

Gambar 2.8 Beberapa kelas event dari paket java.awt.event

Mekanisme penanganan event terdiri dari sumber event, objek event, dan event listener. Sumber event adalah komponen GUI yang dipakai oleh pengguna untuk berinteraksi. Objek event mengenkapsulasi informasi tentang event yang terjadi, seperti referensi terhadap sumber event dan sembarang informasi spesifik yang diperlukan oleh event listener dalam menangani event. Event listener merupakan sebuah objek yang diberi tahu oleh sumber event ketika sebuah event terjadi. Hasilnya ia “mendengarkan” event, dan salah satu metodenya akan dieksekusi sebagai respons terhadap event yang terjadi. Salah satu metode dari event listener menerima objek event ketika event listener diberi tahu terjadinya sebuah event. Model penanganan event ini dikenal dengan model delegasi event dimana pemrosesan event didelegasikan kepada sebuah objek (event listener) pada aplikasi.

Untuk setiap tipe objek event, terdapat antarmuka event listener. Event listener untuk sebuah event GUI adalah sebuah objek dari kelas yang mengimplementasikan satu atau lebih antarmuka event listener dari paket java.awt.event dan javax.swing.event. Banyak dari tipe event listener dapat dipakai pada komponen Swing dan AWT. Tipe semacam itu dideklarasikan didalam paket java.awt.event, dan beberapa diantaranya ditunjukkan pada Gambar 2.9. Beberapa tipe event listener yang spesifik untuk komponen Swing dideklarasikan didalam paket javax.swing.event.

Setiap antarmuka event listener menetapkan satu atau lebih metode penanganan event yang harus dideklarasikan didalam kelas yang mengimplementasikan antarmuka. Ingat bahwa sembarang kelas yang mengimplementasikan sebuah antarmuka harus mendeklarasikan semua metode abstract dari antarmuka tersebut. Jika tidak, kelas tersebut akan menjadi kelas abstract dan tidak dapat dipakai untuk menciptakan objek. Ketika sebuah event terjadi, komponen GUI yang berinteraksi dengan pengguna memberi tahu pendengar (listener) terdaftar dengan memanggil setiap metode penanganan event yang sesuai. Sebagai contoh, ketika pengguna menekan kunci Enter pada sebuah JtextField, maka metode actionPerformed dari pendengar terdaftar akan dipanggil.

Gambar 2.9 Beberapa antarmuka event-listener dari paket java.awt.event

Bagaimana Penanganan Event Bekerja?

Berikut akan di ilustrasikan bagaimana mekanisme penanganan event bekerja, menggunakan bidangTeks1 dari contoh pada kode 2.4. Ada dua pertanyaan yang masih tersisa:

  1. Bagaimana event handler didaftarkan?
  2. Bagaimana komponen GUI memutuskan untuk memanggil actionPerformed bukan metode penanganan event yang lain?

Pertanyaan pertama dijawab oleh registrasi event yang dilakukan pada baris 43-46 pada kode 2.4. Gambar 2.10 mengilustrasikan diagram dari variabel bidangTeks1, BidangTeksHandler, handler, dan objek-objek yang ditunjuknya.

Pendaftaran Event

Setiap JComponent memiliki sebuah variabel contoh yang dinamakan dengan listenerList yang menunjuk ke sebuah objek dari kelas EventListenerList (paket javax.swing.event). Setiap objek dari subkelas JComponent menetapkan referensi terhadap pendengar terdaftarnya didalam listenerList. Agar lebih sederhana, diagaram listenerList direpresentasikan sebagai sebuah array dibawah objek JtextField pada Gambar 2.10.

Ketika baris 43 pada kode 2.4,

bidangTeks1.addActionListener (handler);

dieksekusi, sebuah masukan baru yang memuat referensi terhadap objek BidangTeksHandler ditempatkan didalam listenerList. Meskipun tidak ditunjukkan pada diagram, masukan baru ini mencakup tipe pendengar (pada kasus ini, ActionListener). Dengan menggunakan mekanisme ini, setiap komponen GUI Swing berbobot ringan menetapkan daftar pendengarnya sendiri yang terdaftar untuk menangani event-event komponen.

Gambar 2.10 Pendataran event untuk bidangTeks1

To be continued...

Warm Regards alfarisi - KSI Chapter Lhokseumawe


DISCORD INDONESIAN STEEMIT COMMUNITY


Sort:  

Benar benar harus fokus blajarnya ini bang klo ga kriteng rambut hehe

Hahaha gak sampe kriting juga loh bang rambutnya

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.030
BTC 65834.02
ETH 2696.36
USDT 1.00
SBD 2.87