Minggu, 03 Desember 2017

Laporan Praktikum Algo dan Pemrograman II (JAVA) 11: EVENT HANDLING


Assalamualaikum warahmatullahi wabarakatuh...
Postingan ini saya buat untuk memenuhi tugas Laporan praktikum dari Dosen cantik saya Sundari Retno Andini, S.T,M.Kom selaku Dosen Algo dan Pemrograman II (JAVA).
Pada laporan ke 11 ini, saya akan memposting tentang apa itu Event Handling dan TUGAS (Memodifikasi program EventRadio.java dengan mengganti JRadioButton dengan menggunakan JCheckBox.

EVENT HANDLING
            Event Handling adalah suatu metode untuk menangani sebuah event/aksi yg diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yg dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yg biasa digunakan untuk menangani kejadian adalah java.awt.event dan javax.swing.awt. Event handling dalam menangani event terbagi menjadi tiga macam yaitu :
1.      Event Source
Event source adalah komponen yg mendapatkan suatu event yg 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 tsb berasal.
2.      Event Listener
Event Listener digunakan untuk menagkap event yg terjadi pada komponen/Event Source
3.      Event Handler
Event Handler berupa blok method dari listener yg menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pd event tombol simpan ditekan, event listener akan menangkap event pd  Event Source tombol Simpan, kemudian Eveny Handler akan meyimpan data yg didefinisikan pd blok Event Handler.
Berikut beberapa contoh program Event Handling :
EventButton.java

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

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

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

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

Dan berikut hasilnya setelah di run kan :


            EventComboBox.java

Dan masih banyak lagi contoh2 program dari Event Handling.

TUGAS
Event Handling dan TUGAS (Memodifikasi program EventRadio.java dengan mengganti JRadioButton dengan menggunakan JCheckBox.
JAWAB :
Inilah kode Program EventRadio yg telah dimodifikasi beserta hasilnya.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class RadioHandling extends JFrame implements ItemListener {
private JTextField text;
private JPanel panel;
private JCheckBox cb1, cb2, cb3;

public RadioHandling() {
     setTitle("CobaCheckBox Handling");
     text = new JTextField("Jenis Kelamin : Pilihan");
     text.setHorizontalAlignment(SwingConstants.CENTER);
     panel = new JPanel(new FlowLayout());
     cb1 = new JCheckBox("Pria");
     cb2 = new JCheckBox("Wanita");
     cb3 = new JCheckBox("Banci");

     ButtonGroup group = new ButtonGroup();
     group.add(cb1);
     group.add(cb2);
     group.add(cb3);
     cb1.addItemListener(this);
     cb2.addItemListener(this);
     cb3.addItemListener(this);

     setLayout (new BorderLayout());
     add(text, "North");
     add(panel, "West");
     panel.add(cb1);
     panel.add(cb2);
     panel.add(cb3);

     pack();
     setVisible(true);
     setLocation(200,200);
     setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void itemStateChanged(ItemEvent event) {
     if(event.getSource()==cb1) {
          if(event.getStateChange()==ItemEvent.SELECTED)
              text.setText("Jenis Kelamin :Pria");
     }
     if(event.getSource()==cb2) {
              if(event.getStateChange()==ItemEvent.SELECTED)
                   text.setText("Jenis Kelamin :Wanita");
     }
     if(event.getSource()==cb3) {
              if(event.getStateChange()==ItemEvent.SELECTED)
                   text.setText("Jenis Kelamin :Banci");
     }
}
}

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




Nah,, sekian postingan dari Saya.. Terima Kasih 😁😁😁😁
Wassalamualaikum..

Tidak ada komentar:

Posting Komentar