EVENT HANDLING
Event Handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan penngguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yang biasa digunakan untuk menangani kejadian adalah java.awt.event dan javax.swing.event. Event handling dalam menangani event terbagi menjadi 3 macam yaitu Event Surce, Event Listener dan Event Handler.
- Event Source
- Event Listener
- Event Handler
- Event Source
- 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 Handler
saat nya masuk ke pemerogrmanan;
untuk membuat hasil seperti gambar diatas maka langkahnya adalah dengan cara memasukan kode seperti ini:
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();
}
}
Simpan kode program dengan nama EventButton.java. dan ingat 2 langkah yang berikut ini:
- CTRL+1 untuk mengkompile program java
- CTRL+2 untuk menjalankan program java
selanjutnya untuk membuat gambar seperti dibawah ini
MEMBUAT PROGRAM EventRadio.java
masukan kode dibawah berikut ini :
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class RadioHandling extends JFrame
implements ItemListener {
private
JTextFieldteks;
private
JPanel panel;
private
JRadioButton rbTn1, rbTn2, rbTn3;
public
RadioHandling() {
setTitle("CobaRadioButton
Handling");
teks
= new JTextField("JenisKelamin : Pilihan");
teks.setHorizontalAlignment(SwingConstants.CENTER);
panel
= new JPanel(new FlowLayout());
rbTn1
= new JRadioButton("Pria");
rbTn2
= new JRadioButton("Wanita");
rbTn3
= new JRadioButton("??");
ButtonGroup
group = new ButtonGroup();
group.add(rbTn1);
group.add(rbTn2);
group.add(rbTn3);
rbTn1.addItemListener(this);
rbTn2.addItemListener(this);
rbTn3.addItemListener(this);
setLayout(new
BorderLayout());
add(teks,
"North");
add(panel,
"West");
panel.add(rbTn1);
panel.add(rbTn2);
panel.add(rbTn3);
pack();
setVisible(true);
setLocation(200,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public
void itemStateChanged(ItemEvent event) {
if(event.getSource()==rbTn1)
{
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("JenisKelamin
: Pria");
}
if(event.getSource()==rbTn2)
{
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("JenisKelamin
: Wanita");
}
if(event.getSource()==rbTn3)
{
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("JenisKelamin
: ??");
}
}
}
public
class EventRadio {
public
static void main (String[] args) {
new
RadioHandling();
}
}
lalu Simpan dengan nama EventRadio.java dan ingat 2 langkah yang berikut ini:
- CTRL+1 untuk mengkompile program java
- CTRL+2 untuk menjalankan program java
MEMBUAT PROGRAM EventComboBox.java
untuk dapat menghasilkan gambar seperti diatas, maka masukan kode sebagaiberikut:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ComboBoxHandling extends JFrame
implements ItemListener {
private
JTextFieldteks;
private
String Status[] = {"Setuju", "Betul"};
private
JComboBoxcbStatus;
public
ComboBoxHandling () {
super("Coba
Combo Box Handling");
teks
= new JTextField("Status : None");
teks.setHorizontalAlignment(SwingConstants.CENTER);
cbStatus
= new JComboBox(Status);
cbStatus.addItemListener(this);
setLayout(new
BorderLayout());
add(teks,
"North");
add(cbStatus,
"South");
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public
void itemStateChanged(ItemEvent event) {
if(event.getStateChange()==ItemEvent.SELECTED)
{
if(cbStatus.getSelectedIndex()==0)
teks.setText("Setuju");
else
if(cbStatus.getSelectedIndex()==1)
teks.setText("Batal");
}
}
}
public
class EventComboBox {
public
static void main (String[] args) {
new
ComboBoxHandling();
}
}
lalu Simpan kode progrma tersebut dengan nama EventComboBox.java dan ingat 2 hal berikut:
- CTRL+1 untuk mengkompile program java
- CTRL+2 untuk menjalankan program java
MEMBUAT PROGRAM PanggilInputData.java
untuk membuat program pangilan input data maka masukan kode sebagai berikut:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class InputData extends JDialog {
JDesktopPane view = new JDesktopPane();
JLabel lNama = new JLabel("Nama Lengkap : ");
final JTextField fNama = new JTextField(10);
JTextField fJnsKlmn = new JTextField();
JTextField fAgama = new JTextField();
JTextField fSepakBola = new JTextField();
JTextField fBasket = new JTextField();
JTextField fKosong = new JTextField();
JLabel lJnsKlmn = new JLabel("Jenis Kelamin : ");
JRadioButton rbPria = new JRadioButton("Laki-laki");
JRadioButton rbWanita = new JRadioButton("Perempuan");
JLabel lAgama = new JLabel("Agama : ");
String [] namaAgama = {
"Islam", "Kristen", "Katolik",
"Hindu", "Budha"
};
JComboBox cmbAgama = new JComboBox(namaAgama);
JLabel lHobby = new JLabel("Hobby : ");
JCheckBox cbSepakBola = new JCheckBox("Sepakbola");
JCheckBox cbBasket = new JCheckBox("Basket");
JCheckBox cbKosong = new JCheckBox("Tidak Ada");
JButton btnSave = new JButton("OK");
JButton btnCancel = new JButton("CANCEL");
public InputData() {
setTitle("INPUT DATA");
setSize(350,250);
setResizable(false);
ButtonGroup group = new ButtonGroup();
group.add(rbPria);
group.add(rbWanita);
setLayout(null);
add(lNama);
add(fNama);
add(lJnsKlmn);
add(rbPria);
add(rbWanita);
add(lAgama);
add(cmbAgama);
add(lHobby);
add(cbSepakBola);
add(cbBasket);
add(cbKosong);
add(btnSave);
add(btnCancel);
lNama.setBounds(10,10,120,20);
fNama.setBounds(130,10,150,20);
lJnsKlmn.setBounds(10,35,120,20);
rbPria.setBounds(130,35,100,20);
rbWanita.setBounds(230,35,100,20);
lAgama.setBounds(10,60,150,20);
cmbAgama.setBounds(130,60,120,20);
lHobby.setBounds(10,85,120,20);
cbSepakBola.setBounds(130,85,150,20);
cbBasket.setBounds(130,110,150,20);
cbKosong.setBounds(130,135,150,20);
btnSave.setBounds(50,170,120,20);
btnCancel.setBounds(180,170,120,20);
setVisible(true);
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
view("Tampilan");
}
}
);
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
fNama.setText(null);
cmbAgama.setSelectedIndex(0);
cbSepakBola.setSelected(false);
cbBasket.setSelected(false);
cbKosong.setSelected(false);
cbSepakBola.setEnabled(true);
cbBasket.setEnabled(true);
}
}
);
cbKosong.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
JCheckBox source = (JCheckBox)ie.getItemSelectable();
String kosong = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED) {
cbSepakBola.setSelected(false);
cbBasket.setSelected(false);
cbSepakBola.setEnabled(false);
cbBasket.setEnabled(false);
fKosong.setText(""+kosong+",");
}
else {
cbSepakBola.setEnabled(true);
cbBasket.setEnabled(true);
fKosong.setText("");
}
}
}
);
rbPria.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String pria = ae.getActionCommand();
fJnsKlmn.setText(""+pria);
}
}
);
rbWanita.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String wanita = ae.getActionCommand();
fJnsKlmn.setText(""+wanita);
}
}
);
cbSepakBola.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
JCheckBox source = (JCheckBox)ie.getItemSelectable();
String sepakBola = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED)
fSepakBola.setText(""+sepakBola+",");
else
fSepakBola.setText("");
}
}
);
cbBasket.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
JCheckBox source = (JCheckBox)ie.getItemSelectable();
String basket = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED)
fBasket.setText(""+basket+",");
else
fBasket.setText("");
}
}
);
}
public int view(String action) {
String nama = fNama.getText();
String jnsklmn = fJnsKlmn.getText();
String agama = String.valueOf(cmbAgama.getSelectedItem());
String cbSepakbola = fSepakBola.getText();
String cbBasket = fBasket.getText();
String cbKosong = fKosong.getText();
String data = "DATA-DATA MAHASISWA :\n\nNama : "+nama+"\n\nJenis Kelamin : "+jnsklmn+"\n\nAgama : "+agama+
"\n\nHobby : "+cbSepakbola+""+cbBasket+""+cbKosong+"";
int message =
JOptionPane.showConfirmDialog(null, data,"DATA MAHASISWA",JOptionPane.CLOSED_OPTION,JOptionPane.QUESTION_MESSAGE);
return message;
}
}
class PanggilInputData {
public static void main(String []args){
new InputData();
}
Simpan dengan nama PanggilInputData.java dan ingat 2 hal berikut:
- CTRL+1 untuk mengkompile program java
- CTRL+2 untuk menjalankan program java
lalu kita tinggal isi text box pada program tersebut dan akan muncul aksi sebagai berikut:
terimakasih telah singgah di blok saya,
guna untuk memenuhi tugas Program Berorientasi Objek
Nama : Delima Syah Putri Sinaga
NIM : 1602084
Kelas : 16S03
STIKOM TUNAS BANGSA PEMATANGSIANTAR
Kelas : 16S03
STIKOM TUNAS BANGSA PEMATANGSIANTAR
Tidak ada komentar:
Posting Komentar