Events Handling

Penanganan event telah berubah sejak Java 1.0 pertama kali dirilis pada tahun 1995. Awalnya, JDK 1.0.2 aplikasi ditangani peristiwa menggunakan model warisan. Sebuah wadah subclassed action () dan handleEvent () metode induknya dan menangani aktivitas untuk semua komponen di dalamnya. Sebagai contoh, kode berikut akan mewakili event handler untuk sebuah panel yang berisi OK dan tombol Cancel:


public boolean handleEvent(java.awt.Event e)
{
 if (e.id == java.awt.Event.ACTION_EVENT) 
 {
 if (e.target == buttonOK)
 {
 buttonOKPressed();
 }
 else if (e.target == buttonCancel)
 (
  buttonCancelPressed();
 )
 }
 return super.handleEvent(e);
} 
 
 Masalah dengan metode ini adalah bahwa peristiwa tidak dapat dikirimkan ke objek tertentu. 
Sebaliknya, mereka harus diarahkan melalui penangan yang universal yang 
meningkatkan kompleksitas dan karenanya melemahkan desain Anda.

 Jawa 1,1 memperkenalkan konsep model delegasi acara
 Model ini memungkinkan kelas khusus, yang dikenal sebagai "kelas adaptor"
 yang akan dibangun untuk didaftarkan dengan komponen untuk menangani event tertentu. 
 Model delegasi acara menggunakan pola model-view controller yang 
 memisahkan pandangan dari suatu komponen dari datanya. 
 Dengan menggunakan model ini memerlukan tiga langkah sederhana:

 1. Mengimplementasikan antarmuka pendengar yang diinginkan di kelas adaptor Anda
    Tergantung pada apa acara Anda menangani, sejumlah pendengar interface yang tersedia. 
    Ini termasuk: ActionListener, WindowListener, MouseListener
    MouseMotionListener, ComponentListener, FocusListener, dan ListSelectionListener.
 2. Daftar pendengar adaptor dengan komponen yang diinginkan (s). 
    Ini bisa dalam bentuk metode addXXXListener () didukung oleh komponen. Contohnya termasuk addActionListener (), 
    addMouseListener (), dan addFocusListener ().
 3. Mengimplementasikan metode antarmuka pendengar di class adaptor Anda.  
    Hal ini dalam kode ini bahwa Anda akan benar-benar menangani acara.

 Menggunakan model delegasi acara memungkinkan pengembang untuk memisahkan komponen tampilan (user interface) 
 dari acara penanganan (data aplikasi) yang menghasilkan lebih bersih, lebih berorientasi objek desain.
 
 


Dalam event handling pada Java ada empat bagian penting yang harus diketahui:

  1. Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
  2. Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
  3. Event Listener merupakan interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event
  4. Event Source merupakan pembangkit / trigger sebuah event objects
setiap event object mempunyai  type event yang berbdea beda. sehingga kita harus menentukan type event sebelum menentukan jenis interface listener. karena setiap type event mempunyai jenis interface listener yang bersesuaian.
berikut ini type type event yang ada di Java :
  1. ActionEvent
  2. ItemEvent
  3. WindowEvent
  4. ContainerEvent
  5. ComponentEvent
  6. FocusEvent
  7. TextEvent
  8. KeyEvent
  9. MouseEvent
  10. AdjustmentEvent

 

0 komentar:

Poskan Komentar