Rabu, 16 Januari 2013

Event Handling

IMPLEMENTASI EVENT ITEMLISTENER PADA JCHECKBOX

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

class CheckBoxHandling extends JFrame implements ItemListener {
    private JTextField teks;//mendeklarasikan variabel teks sebagai atribut baru dari JTextField menggunakan modifier private
    private JPanel panel;//mendeklarasikan variabel panel sebagai atribut baru dari JPanel menggunakan modifier private
    private JCheckBox cbTn1, cbTn2, cbTn3;//mendeklarasikan variabel cbTn1, cbTn2 dan cbTn3 sebagai atribut baru dari JCheckBox menggunakan modifier private

    public CheckBoxHandling() {
        setTitle("Coba CheckBox Handling");//menampilkan judul frame
        teks = new JTextField("Jenis Kelamin : Pilihan");//mengimput nilai dari variabel teks
        teks.setHorizontalAlignment(SwingConstants.CENTER);//menampilkan nilai variabel teks di tengah
        panel = new JPanel(new FlowLayout());//menempatkan komponen panel pada frame menggunakan metode FlowLayout
        cbTn1 = new JCheckBox("Pria");//mengimput nilai dari variabel cbTn1
        cbTn2 = new JCheckBox("Wanita");//mengimput nilai dari variabel cbTn2
        cbTn3 = new JCheckBox("Banci");//mengimput nilai dari variabel cbTn3

        ButtonGroup group = new ButtonGroup();//mendeklarasikan variabel group sebagai atribut ButtonGroup
        group.add(cbTn1);//menempatkan cbTn1 sebagai anggota baru  dari variabel group
        group.add(cbTn2);//menempatkan cbTn2 sebagai anggota baru  dari variabel group
        group.add(cbTn3);//menempatkan cbTn2 sebagai anggota baru  dari variabel group
        cbTn1.addItemListener(this);//menambahkan event ItemListener pada cbTn1
        cbTn2.addItemListener(this);//menambahkan event ItemListener pada cbTn2
        cbTn3.addItemListener(this);//menambahkan event ItemListener pada cbTn3

        setLayout(new BorderLayout());//menempatkan komponen teks dan panel pada frame menggunakan metode BorderLayout
        add(teks, "North");//menempatkan posisi komponen teks di Utara
        add(panel, "West");//menempatkan posisi komponen panel di Barat
        panel.add(cbTn1);//menambahkan cbTn1 pada komponen panel
        panel.add(cbTn2);//menambahkan cbTn2 pada komponen panel
        panel.add(cbTn3);//menambahkan cbTn3 pada komponen panel

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

    public void itemStateChanged(ItemEvent event) {//menciptakan method itemStateChanged untuk menjalankan fungsi event pada komponen cbTn1, cbTn2 dan cbTn3
        if(event.getSource()==cbTn1) {
            if(event.getStateChange()==ItemEvent.SELECTED)
                teks.setText("Jenis Kelamin : Pria");//Jika yang diklik ChekBox cbTn1  maka yang ditampilkan adalah teks ("Jenis Kelamin : Pria")
        }
        if(event.getSource()==cbTn2) {
                    if(event.getStateChange()==ItemEvent.SELECTED)
                        teks.setText("Jenis Kelamin : Wanita");//Jika yang diklik ChekBox cbTn2  maka yang ditampilkan adalah teks ("Jenis Kelamin : Wanita")
        }
        if(event.getSource()==cbTn3) {
                    if(event.getStateChange()==ItemEvent.SELECTED)
                        teks.setText("Jenis Kelamin : Banci");//Jika yang diklik ChekBox cbTn3  maka yang ditampilkan adalah teks ("Jenis Kelamin : Banci")
        }
    }
    public static void main(String[] args) {
        new CheckBoxHandling();//melakukan instansiasi pada class CheckBoxHandling untuk menampilkan output kelayar komputer
    }
}

Output program :

Tidak ada komentar:

Posting Komentar