Delegation Event Model
Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi dari user. Untuk memahami model, pertama-tama mari kita pelajari melalui tiga komponen utamanya.
- Event SourceEvent source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol.
- Event Listener/HandlerEvent listener menerima berita dari event-event dan proses-proses interaksi user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk user.
- Event ObjectKetika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini.
Registrasi Listeners
Event source mendaftarkan sebuah listener melalui method add<Type>Listener.
void add<Type>Listener(<Type>Listener listenerObj)
<Type> tergantung pada tipe dari event source. Dapat berupa Key, Mouse, Focus, Component, Action dan lainnya. Beberapa listeners dapat diregistrasi dengan satu event source untuk menerima pemberitahuan event.
Listener yang telah teregistrasi dapat juga tidak diregistrasikan lagi menggunakan method remove<Type>Listener.
void remove<Type>Listener(<Type>Listener listenerObj)
Class-Class Event
Sebuah event object mempunyai sebuah class event sebagai tipe data acuannya. Akar dari hirarki class event adalah class EventObject, yang dapat ditemukan pada paket java.util. Immediate subclass dari class EventObject adalah class AWTEvent. Class AWTEvent didefinisikan pada paket java.awt. Itu merupakan akar dari semua AWT-based events.
Berikut ini beberapa dari class-class AWT event.
Event Listeners
Event listeners adalah class yang mengimplementasikan interfaces <Type>Listener.
Tabel di bawah menunjukkan beberapa listener interfaces yang biasanya digunakan.
Method ActionListener
Interface ActionListener hanya terdiri dari satu method.
Method MouseListener
Method-Method MouseMotionListener
MouseMotionListener mempunyai dua method untuk diimplementasikan.
Method-Method WindowListener
Di bawah ini method-method dari interface WindowListener.
Petunjuk untuk Menciptakan Aplikasi Handling GUI Events
Berikut ini langkah-langkah yang Anda butuhkan untuk mengingat ketika ingin membuat aplikasi GUI dengan event handling.
- Buatlah sebuah class yang menguraikan dan membuat suatu tampilan dari aplikasiGUI Anda.
- Buatlah sebuah class yang menerapkan interface listener yang sesuai. Class ini bolehmengacu pada class yang sama seperti pada langkah awal.
- Dalam menerapkan class, gunakan semua method-method dengan interface listeneryang sesuai. Uraikan masing-masing method bagaimana Anda ingin mengendalikanevent-event. Anda dapat memberikan implementasi kosong untuk method yang tidakingin Anda gunakan.
- Daftarkan object listener, instansiatiate dari class listener pada langkah 2, dengansource component menggunakan method add<Type>Listener.
Contoh Mouse Events
Sumber: https://ratnokustiawan.wordpress.com/2011/01/22/gui-event-handling/
EmoticonEmoticon