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 Source
- Event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol.
Event Listener/Handler
- Event 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.
- Ketika 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.
Pada awalnya, sebuah listener seharusnya
diregistrasikan dengan sebuah source sehingga dapat menerima informasi tentang
event-event yang terjadi pada source tersebut. Hanya listener yang sudah
teregistrasi yang dapat menerima pemberitahuan event-event. Ketika telah
teregistrasi, sebuah listener hanya tinggal menunggu sampai event terjadi.
Ketika sesuatu terjadi dengan event
source, sebuah event object akan menguraikan event yang diciptakan. Event
kemudian ditembak oleh source pada listener yang teregistrasi.
Saat listener menerima sebuah event
object (pemberitahuan) dari source, dia akan bekerja. Menerjemahkan
pemberitahuan dan memproses event yang terjadi.
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 WindowsListener
Di bawah ini method-method dari
interface WindowListener.