Praktek 9
Event handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI.
Dua paket yang biasa dugunakan pada Event Handling untuk menangani kejadian adalah java.awt.event dan java.swing.event.
Dalam menangani event, event handling terbagi atas tiga event yaitu :
1. Event Source
Event Source adalah komponen yang mendapatkan event yang kemudian ditangkap oleh Event Listener.
2. Event Listener
Event Listener digunakan untuk menangkap event yang terjadi pada komponen Event Source.
3. Event Handler
Event Handler berupa blok method dari listener yang menentukan proses selanjutnya setelah komponen mendapatkan event.
Berikut ini contoh Event Handling :
import java.awt.*;
import javax.swing.*; // Pendeklarasain kelas GUI
import java.awt.event.*;
class CheckHandling extends JFrame implements ItemListener {
private JTextField teks; //Pendeklarasian objek yang akan digunakan
private JPanel panel;
private JCheckBox cb1, cb2, cb3;
public CheckHandling() {
setTitle("Coba CheckBox Handling"); //Membuat judul
teks = new JTextField("jenis Kelamin = Pilihan"); // Membuat teks padaTextField
teks.setHorizontalAlignment (SwingConstants.CENTER);
panel = new JPanel (new FlowLayout());
cb1 = new JCheckBox("Pria");
cb2 = new JCheckBox("Wanita"); // membuat objek-objek CheckBox
cb3 = new JCheckBox("Banci");
ButtonGroup group = new ButtonGroup(); // Membuat group Button
group.add(cb1);
group.add(cb2);
group.add(cb3);
cb1.addItemListener(this);
cb2.addItemListener(this);
cb3.addItemListener(this);
setLayout(new BorderLayout()); //Membuat pengaturan bentuk layout yang akan digunakan
add(teks, "North");
add(panel, "West");
panel.add(cb1);
panel.add(cb2);
panel.add(cb3);
pack(); // Mengatur ukuran tampilan atau from yang akan diabuat
setVisible(true);
setLocation(200,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent event) { //Memberi event pada objek "cb1"
if(event.getSource()==cb1) {
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("jenis Kelamin : Pria");
}
if(event.getSource()==cb2) { //Memberi event pada objek "cb2"
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("jenis Kelamin : Wanita");
}
if(event.getSource()==cb3) { //Memberi event pada objek "cb3"
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("jenis Kelamin : Banci");
}
}
}
public class EventCheckBox { // Pembuatn class main
public static void main(String[]args) {
new CheckHandling();
}
}
Hasil :