Event Handling GUI pada Java

     Kali ini  saya akan membahas tentang Event Heandling pada blog sasa ini, semogae bermanfaat dan silahkan dipelajari langsung saja kalu begitu :

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
Berikut ini Interface Listener
  1. ActionListener
  2. ItemListener
  3. WindowListener
  4. ContainerListener
  5. ComponentListener
  6. FocusListener
  7. TextListener
  8. KeyListener
  9. MouseListener
  10. MouseMotionListener
  11. AdjustmentListener
Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap interface mempunyai method abstract yang harus di override class yang meng-impletasikan interface. event listener dan event handler terdapat pada package java.awt.event
Bagaimana event handling dalam Java? ada tiga langkah penting dalam event handling
  1. Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener
  2. Event source mendaftarkan sebuah listener melalui method add<type>Listener
  3. Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ]
Contoh 1
MouseEventsDemo.java
package mouseeventsdemo;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author Ren
*/
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener {  //
 Langkah 1
TextField tf;
public MouseEventsDemo( String title){
super(title);
tf = new TextField(60);
addMouseListener(this); // 
Langkah 2
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) {
 // Langkah 3
String msg = “Mouse clicked.”;
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = “Mouse entered component.”;
tf.setText(msg);
}
public void mouseExited(MouseEvent me) {
String msg = “Mouse exited component.”;
tf.setText(msg);
}
public void mousePressed(MouseEvent me) {
String msg = “Mouse pressed.”;
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = “Mouse released.”;
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = “Mouse dragged at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = “Mouse moved at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
}
main.java
package mouseeventsdemo;
/**
*
* @author Ren
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MouseEventsDemo med = new MouseEventsDemo(“Mouse Events Demo”);
med.launchFrame();
}
}
 =======================================================================
Pada contoh berikut ini ditambahkan window konfirmasi saat tombol exit ditekan.
Berikut ini tampilannya:

import java.awt.*;
02
03import java.awt.event.*;
04
05import javax.swing.*;
06
07public class ClickMe3 extends JFrame {
08
09    private JButton tombol, btnExit;
10
11    public ClickMe3() {
12
13        super ("Event Handling");
14
15        Container container = getContentPane();
16
17        container.setLayout(new FlowLayout());
18
19        ClickListener cl = new ClickListener ();
20
21        tombol = new JButton ("Click Me!");
22
23        tombol.addActionListener(cl);
24
25        container.add(tombol);
26
27        btnExit = new JButton ("Exit");
28
29        btnExit.addActionListener(cl);
30
31        container.add(btnExit);
32
33        setSize (200,100);
34
35        setVisible (true);
36
37    }
38
39    public static void main (String arg[]) {
40
41        ClickMe3 test = new ClickMe3();
42
43        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
44
45    }
46
47    //inner class
48
49    private class ClickListener implements ActionListener {
50
51        public void actionPerformed (ActionEvent e) {
52
53            if (e.getSource() == tombol) {
54
55                JOptionPane.showMessageDialog(null"You click me again, guys !!!");
56
57            else if (e.getSource() == btnExit){
58
59                if ( JOptionPane.showConfirmDialog(null"Apakah Anda yakin akan keluar ?","Konfirmasi",
60
61                        JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) {
62
63                        System.exit(0);
64
65                    }
66
67            }
68
69        }
70
71    }
72
73}



Semoga bermanfaat bagi anda semua yang ingin mencoba silahkan dan semoga berhasil dan semoga sukses selalu .

0 komentar:

Posting Komentar