Senin, 24 Juni 2019

EVENT HANDLING

Pertemuan 9 :

Dasar Teori

Event handling adalah suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna suatu komponen, misalnya tombol ditekan. Yang biasa digunakan untuk menangani kejadian adalah java.awt.event & javax.swing.event.

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, dan lainnya. Dengan penamaan Event Source ini, sebuah Event Listener akan dapat mendeteksi dari mana Event Listener tersebut berasal.

2.       Event Listener
Event Listener digunakan untuk menangkap event yang terjadi pada komponen/ Event Source.

3.       Event Handler
Event Hendler berupa blog method dari Listener yang menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pada 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.


LANGKAH-LANGKAH PRAKTIKUM


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


Outputnya :





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


Outputnya :




C.       MEMBUAT PROGRAM 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.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();
                }
}
                                teks = new JTextField ("Status : None");


Tidak memiliki output


D.      MEMBUAT PROGRAM PanggilanInputDaata.java

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 ("CANCEL");

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


Tidak memiliki output





E. TUGAS

Modifikasi program EventRadio.java dengan mengganti JRadioButton dengan menggunakan JcheckBox,seperti contoh di bawah ini :


Outputnya :











Tidak ada komentar:

Posting Komentar

KOMPONEN - KOMPONEN SWING LANJUTAN

Pertemuan 11 : Dasar Teori  Swing  merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan ber...