Download - Pemrograman JAVA (TIB09)
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 implementasiJButton 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 ActionListenerprivate 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;
}
}