TIB09 Pemrograman JAVA – 10 – Event Handling

Download Report

Transcript TIB09 Pemrograman JAVA – 10 – Event Handling

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("Componentlistener");
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;
}
}