190 likes | 351 Views
Pemrograman JAVA (TIB09). Event Handling. Even Handling pada JAVA. Untuk menangani aksi yang dilakukan oleh user terhadap GUI ada beberapa cara yang dilakukan JAVA yang semuanya diaplikasikan dengan interface Event Listener terdapat pada java.awt.event.*
E N D
Pemrograman JAVA(TIB09) Event Handling
Even Handling pada JAVA • Untuk menangani aksi yang dilakukan oleh user terhadap GUI ada beberapa cara yang dilakukan JAVA yang semuanya diaplikasikan dengan interface Event Listener • terdapat pada java.awt.event.* • Setelah komponen dideklarasikan, listener dapat ditambahkan pada komponen tsb
Untuk memastikan komponen mana saja yang mengimplementasikan class-class turunan EvenHandling ini, sebaiknya dipastikan pada java api docs nya.
ActionListener • Listener interface untuk menerima even aksi pada suatu komponen. • Class yang mempergunakan even aksi mengimplementasikan sebagai interface • Menggunakan method addActionListener untuk mendaftarkan aksi ini pada komponen dengan catatan komponen ini mempunyai class addActionlistener method.
ActionListener (cont) • Ketika even aksi terjadi, actionPerformed method akan dipanggil • Contoh implementasi JButton b1 = new JButton(“Tombol”); b1.addActionListener(this); . . . c.add(b1); • Cara yang sama dilakukan pada semua interface evenListener
AdjustmentListener • Bereaksi pada perubahan komponen untuk penyesuaian • Ditambahkan pada komponen dengan method addAdjustmentListener(). • Contoh komponen yang mempergunakan: JScrollBar
FocusListener • Listener interface untuk menerima keyboard focus events pada sebuah komponen. • Didaftarkan pada komponen dengan method addFocusListener() • Ketika komponen memperoleh atau kehilangan fokus keyboard, metode yang relevan dalam object listener dipanggil dan FocusEvent dikirimkan.
ItemListener • Interface listener untuk for menerima item events. • Didaftarkan pada komponen dengan method addItemListener() • Ketika sebuah item-selection event terjadi, objek listener itemStateChanged method dipanggil.
KeyListener • Untuk menerima keyboard events (keystrokes). • Dapat mengimplements inteface ini atau dapat juga mengextends abstract KeyAdapter class (overriding only the methods of interest). • Didaftarkan dengan method addKeyListener()
KeyListener (cont) • Sebuah keyboard event di hasilkan ketika sebuah key ditekan, dilepas, ataupun diketik. • Relevant method pada listener object diminta dan KeyEvent dilewatkan.
WindowListener • Untuk menerima aksi atas perubahan pada windows, misal diperbesar, diperkecil, digeser, ditutup • class dapat mengimplements interface atau meng extends abstract WindowAdapter class (overriding only the methods of interest).
WindowListener (cont) • listener object dibentuk dari class ini kemudian mendaftarkan pada windows dengan addWindowListener method. • Ketika status window berubah, opened, closed, activated or deactivated, iconified or deiconified, relevant method pada listener object diminta, dan WindowEvent dilewatkan
MouseListener • listener interface untuk menerima mouse events (press, release, click, enter, and exit) pada sebuah component. • (untuk melacak pergerakan mouse dan mouse drags gunakan MouseMotionListener.) • class yang berkepentingan pada proses even mouse dapat mengimplementasikan interface ini • Cara lain adalah dengan extends abstract MouseAdapter class (overriding only the methods of interest).
MouseListener (cont) • Ditambahkan pada komponen dengan method addMouseListener(). • mouse event akan dihasilkan ketika mouse di tekan atau dilepas • mouse event juga dihasilkan ketika cursor mouse memasuki atau meninggalkan komponen. • Ketika mouse event terjadi, relevant method pada the listener object diminta, dan MouseEvent dilewatkan.
MouseMotionListener • Untuk menerima mouse motion events (untuk clicks dan mouse events lainnya, gunakan MouseListener.) • Class melakukan implementes ke interface ini • Cara lain dengan extends abstract MouseMotionAdapter class (overriding only the methods of interest).
MouseMotionListener • Didaftarkan pada komponen dengan method addMouseMotionListener() • mouse motion event dihasilkan ketika when mouse digerakan atau di drag. (banyak events akan dihasilkan). • Ketika sebuah mouse motion event terjadi, relevant method pada listener object dipanggil dan MouseEvent dilewatkan melaluinya..
Interface Event Handling • Untuk mengendalikan Event menggunakan interface, program listener harus mengimplementasikan satu method yang bernama actionPerformed() public class myClass implements Actionlistener { public void actionPerformed(ActionEvent evt) { } } • Variabel ActionEvent evt meneruskan informasi komponen asal event tersebut.
Contoh ActionListener private static JButton b1 = new JButton(“Pilih”); private static JTextField tf = new JTextField(30); public class myClass extends JFrame implements Actionlistener { ... public void actionPerformed(ActionEvent evt) { Object var_id = ev.getSource(); if (var_id == b1) //proses ; else if (var_id == t1) //proses ; } ... }
Contoh ComponentListener import javax.swing.*; import java.awt.event.*; import java.awt.*; public class CListener extends JFrame implements ComponenListener { public Clistener() { JLabel teks = new JLabel("Component-listener"); getContentPane().add(teks, "center"); addComponentListner(this); setVisible(true); } public void componentMoved(ComponentEvent ev) { System.out.println("Digerakkan"); } public void componentResized(ComponentEvent ev) { System.out.println("Ukuran diubah"); } public void componentShown(ComponentEvent ev) { System.out.println("Tampil"); } public void componentHidden(ComponentEvent ev) { System.out.println("Hidden"); } public static void main(String args[]) { new CListener; } }