EVENT HANDING

EVENT HANDING


DASAR TEORI
Event Handing adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol di tekan . dua paket yang biasa digunakan untuk menangani kejadian adalah java.awt.event dan java.swing.event. event handing dalam menangani event terbagi menjadi 3 macam yaitu Event Source, Event Listener dan Event Handler.

1.      Event Source
Event Souce adalah komponen yang mendapatan suatu event yang kemudian di tangkap oleh Event Listener. Event Source dapat dibedakan dari penemaan komponen itu sendiri, misalnya tombol simpan , tombol hapus dan lainnya. Dengan penamaan Event Source ini , sebuah Event Listener akan dapat mendeteksi dari mana Event Listener akan dapat mendeteksi darimana Event Listener tersebut berasal.



2.      Event Listener
Event Listener digunakan untuk menangkap event yang terjadi pada komponen/ Event Listener. Di bawah ini di sajikan beberapa litener  yang dapat digunakan dalam mendeteksi event.


event.


Event Listener
Fungsi
ActionListener
Untuk menangnani reaksi atas perubahan status yang digunakan. Misalnya akibat penekanan tombol mouse atau keyboard.
AdjusmentListener
Untuk menangani reasi atas perubahan status pada objek yang digunakan pada saat penyesuaian . misalnya akibat dari pergeseran scrollbar.
FocusListener
Untuk menangani reaksi atas perubahan status akibat focus berada pada objek tertentu. Misalnya kursor berada pada texfield.
ItemListener
Untuk menangani reaksi atas perubahan status pada pilihan ang terdapat pada objek tertentu. Misalnya pemiihan pada checbox atau radiobuttton.
KeyListener
Untuk menangani reaksi dari keyboard. Misalnya penekanan tombol Ctrl,Alt, dan sebagainya.
MouseListener
Untuk menangani reaksi dari penekanan tombol pada mouse.
MouseMoutionListener
Untuk menangani reaksi akibat mouse digerakan, misalkan melewati lokasi kompenen tertentu
MouseWhellListener
Untuk menangani reaksi event scroll pada mouse
TextListener
Untuk menangani event pada text
WindowListener
Untuk menangani reaksi atas perubahan jendela akibat ukuran diperbesar, diperkecil,dipindakan maupun ditutup.
WindowFocusListener
Untuk menangani reaksi pada jendela
WindowStateListener
Untuk menangani status event jendela

A.MEMBUAT PROGRAMEventButton.java

Import java.awt.*; import javax.swing.*; importjava.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 = newJButton("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();
}
}

    Membuat Program EventButton.java

1. ketik kode program seperti tampilan dibawah ini

2. tekan tombol ctrl+1 pada keyboard untuk melihat kode-kode yang error jika tidak ada maka, ikuti langkah ke -3,
3. tekan tomblol ctrl+2 pada keyboard jika program berhasil maka akan menampilkan output seperti di bawah ini


B. MEMBUAT PROGRAMEventRadio.java


Import java.awt.*; import java.awt.event.*; importjavax.swing.*;

class RadioHandling extends JFrame implements ItemListener { private JTextField teks;
private JPanel panel;
private JRadioButton rbTn1, rbTn2, rbTn3;

public RadioHandling() {
setTitle("Coba RadioButton Handling");
teks = new JTextField("Jenis Kelamin : 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("Jenis Kelamin : Pria");
}
if(event.getSource()==rbTn2) { if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("Jenis Kelamin : Wanita");
}
if(event.getSource()==rbTn3) { if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("Jenis Kelamin :
??");
}
}
}

public class EventRadio {
public static void main (String[] args) { new RadioHandling();
}
}


1. Ketik kode program seeprti tampilan dibawah ini

2.ikuti langkah -langkah ke 2 dan 3 pada program sebelumnya , maka akan menampilkan output berikut

Output:





C.MEMBUAT PROGRAMEventComboBox.java
import java.awt.*; import java.awt.event.*; importjavax.swing.*;

class ComboBoxHandling extends JFrame implements ItemListener { private JTextField teks;
private String Status[] = {"Setuju", "Batal"}; private JComboBox cbStatus;

public ComboBoxHandling() { super("Coba Combo BoxHandling");
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");

Input:
Keluaran:


D.MEMBUAT PROGRAMPanggilInputData.java
import javax.swing.*; import java.awt.*; importjava.awt.event.*;

class InputData extends JDialog { JDesktopPane view = new
 JDesktopPane();
JLabel lNama = new JLabel("Nama Lengkap : "); final
 JTextField fNama = new JTextField(10); JTextField fJnsKlmn
 =  JTextField(); JTextField fAgama = new JTextField(); JTextField fSepakBola = new JTextField(); JTextField fBasket = new JTextField(); JTextField fKosong = new JTextField();
JLabel lJnsKlmn = newJLabel("JenisKelamin : "); JRadioButton rbPria = new JRadioButton("Laki-laki"); JRadioButtonrbWanita= newJRadioButton("Perempuan"); JLabel lAgama =newJLabel("Agama : "); String [] namaAgama ={
"Islam", "Kristen", "Katolik", "Hindu", "Budha"
};
JComboBox cmbAgama = new JComboBox(namaAgama);
JLabel lHobby =newJLabel("Hobby : ");
 JCheckBoxcbSepakBola= new JCheckBox("Sepakbola");
 JCheckBox cbBasket = newJCheckBox("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);
(rbPria);
(rbWanita);
(lAgama);
(cmbAgama);
(lHobby);
(cbSepakBola);
(cbBasket);
 add(cbKosong);
(btnSave);
(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();
(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 input data();
}
}

Input :

Output :

Komentar

Postingan populer dari blog ini

LAPORAN PRAKTIKUM JAVA GUI

9 IDE USAHA SAMPINGAN ONLINE UNTUK MAHASISWA DAN KARYAWAN