Rabu, 08 Mei 2019

Pertemuan 9 EventHandling

EVENT HANDLING

    Event Handling adalah suatu metode untuk menangani sebuah  event/aksi yang di berikan pengguna kepada suatu komponen GUI. Event adalah 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 javax.swing.event.  Event Handling dalam menangani Event terbagi menjadi tiga macam yaitu :

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 tombol Simpan, tombol Hapus, dll.

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. Misalkan pada tombol Event Source 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.

Contoh:

A.MEMBUAT 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();
    }
}
Output :

2.  MEMBUAT PROGRAM EventRadio.java

import java.awt.*;
import java.awt.event.*;
import javax.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();
 }

}

Output :


3. MEMBUATPROGRAM EventComboBox.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

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

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();
}
}

Output :


4. MEMBUAT PROGRAM PanggilInputData.java

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 JTextField ();
JTextField fBasket JTextField ();
JTextField fKosong 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 btnCansel = new JButton ("CANSEL");

punlic InputData() {
setTitle ("INPUT DATA");
setSize (350,250);
setResizable (false);
ButtongGroup 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 (cdSepakBola);
add (cbBasket);
add (cbKosong);
add (btnSave);
add (btnCansel);

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,35,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);
btnCansel.setBounds (180,170,120,20);
setVisible (true);

btnSave.addActionListener (new ActionListener() {
public void actionPerfomed (ActionEvent ae) {
view ("Tampilan");
}
}
);

cbKosong.addItemListener (new ItemListener() {
public void itemStateChanged (ItemEvent ie) {
JCheckBox source = (JCheckBox) ie.getItemSelectable ();
String kosong = source.getText();
if (ie.getStateChange()==ItemEvent.SELESCTED)
{
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 actionPerfomed (ActionEvent ae) {
String pria = ae.getActionCommand();
fJnsKlmn.setText(""+pria);
  }
}
);

rbWanita.addaActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
String wanita = ae.getAtionCommand();
fJnsKlmn.setText(""+wanita);
}
}
);

cbSepakBola.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent ie){
JCheckBox
(JCheckBo) 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){
JCeckBox source
(JCheckBox) ie.getItemSelectable();
String basket = source.getText();
if(ie.getStateChange()==ItemEventSELECTED)
fBasket.setTet(""+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 = fBaske.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 panggilInpuData{
    public static void main(String [] args){
    new InputData();
    }
   }

Output :


5. TUGAS

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

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

public CheckBoxHandling() {
setTitle("Coba CheckBox Handling");
teks = new JTextField("Jenis Kelamin : Pilihan");
teks.setHorizontalAlignment(SwingConstants.CENTER);
panel = new JPanel(new FlowLayout());
rbTn1 = new JCheckBox("Pria");
rbTn2 = new JCheckBox("Wanita");
rbTn3 = new JCheckBox("Banci");

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 Tugas {
public static void main (String[] args) {
new CheckBoxHandling();
}
}

Output :


Tidak ada komentar:

Posting Komentar