Selasa, 28 November 2017

Event Handling pada Java

Event Handling


            Event Handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yang biasa digunakan menangani kejadian adalah java.awt.event dan java.swing.event. Event handling dalam menangani event terbagi menjadi 3 macam yaitu Event Source, Event Listener, dan Event Handler.

1. Event Source
     Event Source adalah komponen yang mendapatkan suatu event yang kemudian ditangkap oleh Event Listener. Event Source dapat dibedakan dari penamaan komponen itu sendiri, misalnya tombolSimpan, tombolhapus, dan lainnya. Dengan penamaan Event Source ini, Sebuah Event Listener akan dapat mendeteksi dari mana Event Listener tersebut berasal.

2. Event Listener
    Event Listener digunakan untuk menangkap event yang terjadi pada komponen/Event Source. Dibawah ini disajikan beberapa listener yang dapat digunakan dalam mendeteksi event.
Event Listener.


Fungsi-fungsi:

- Action Listener
  Untuk menangani reaksi atas perubahan status pada objek yang digunakan. Misalnya akibat penekanan tombol mouse atau keyboard.
- AdjusmentListener
  Untuk menangani reaksi atas perubahan status pada objek yang digunakan pada saat penyesuaian. Misalnya akibat dari penggeseran scrollbar.
- FocusListener
  Untuk menangani reaksi atas perubahan status akibat fokus berada pada objek tertentu. Misalnya kursor berada pada textfield.
- ItemListener
  Untuk menangani reaksi atas perubahan status pada pilihan yang terdapat pada objek tertentu. Misalnya pemilihan pada checkbox atau radiobutton.
- KeyListener
  Untuk menangani reaksi dari keyboard. Misalnya penekanan tombol Ctrl, Alt, dan sebagainya.
- MouseListener
  Untuk menangani reaksi dari penekanan tombol pada mouse.
- MouseMotionListener
  Untuk menangani reaksi akibat mouse digerakkan, Misalkan melewati komponen tertentu.
- MouseWheelListener
  Untuk menangani reaksi event scroll pada mouse.
- TextListener
  Untuk menangani event pada teks.
- WindowListener
  Untuk menangani reaksi atas perubahan jendela akibat ukuran diperbesar, dikecilkan, dipindah maupun ditutup.
- WindowFocusListener
  Untuk menangani reaksi pada jendela.
- WindowStateListener
  Untuk menangani status event jendela.

3. Event Handler
     Event Handler berupa blok method dari listener yang menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pada event tombol Simpan ditekan, event listener akan menangkap event pada Event Source tombol Simpan, kemudian Event Handler akan menyimpan data yang didefinisikan pada blok Event Handler.

Cntoh Program EventButton.java
 import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

class ButtonHandling extends JFrame implements ActionListener {
                private JLabel lbl;
                private JButton btnSetuju;
                private JButton btnBatal;

                public ButtonHandling() {
                super("Coba Button Handling");
                lbl=new JLabel ("Status : None");
                lbl.setHorizontalAlignment (SwingConstants.CENTER);
                btnSetuju = new JButton("Setuju");
                btnBatal = new JButton("Batal");
                btnSetuju.addActionListener(this);
                btnBatal.addActionListener(this);
                setLayout(new BorderLayout());
                add(lbl, "North");
                add(btnSetuju, "West");
                add(btnBatal, "East");
                pack();
                setResizable(false);
                setLocation(100, 100);
                setDefaultCloseOperation (3);
                setVisible(true);
                }

                public void actionPerformed(ActionEvent e) {
                if (e.getSource()==btnSetuju) {
                                lbl.setText("Status=Setuju");
                }
                if(e.getSource()==btnBatal) {
                                lbl.setText("Status=Batal");
                }
                }
}

public class EventButton {
                public static void main(String [] args) {
                new ButtonHandling();
                }
}

Tidak ada komentar:

Posting Komentar