Rabu, 16 Januari 2013

TUGAS




Pogram JCheckBox.java
 
Pada langkah-langkah praktikum telah di buat contoh Program EventButton, Program EventRadio, Program EventComboBox. Sekarang adalah langkah memodifikasi program EventRadio.java dengan mengganti JRadioButton dengan menggunakan JCheckBox, seperti contoh program di bawah ini :

Pogram JCheckBox.java
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 : banci");
}
}
}

public class EventCheckBox{
public static void main (String[]args){
new CheckBoxHandling();
}
}

Output :


EVENT HANDLING

Even Handling adalah suatu metode untuk menangani sebuah event atau aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Ada dua paket yang biasa digunakan untuk menangani kejadian yaitu java.awt.event dan java.swing.event. Event handling dalam menangani event terbagi menjadi 3 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 tombolSimpan, tombolHapus, dll. Dengan adanya 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. Berikut beberapa listener yang biasa digunakan dalam mendeteksi event :
·      ActionListener berfungsi untuk menangani reaksi atas perubahan status pada objek yang digunakan. Misalnya akibat penekanan tombol mouse atau keyboard.
·  AdjustmentListener berfungsi untuk menangani reaksi atas perubahan status pada objek yang digunakan pada saat penyesuaian. Misalnya akibat dari penggeseran scrollbar.
·   FocusListener berfungsi untuk menangani reaksi atas perubahan status akibat focus berada pada objek tertentu. Misalnya kursor berada pada textfield.
·      ItemListener berfungsi untuk menangani reaksi atas perubahan status pada pilihan yang terdapat pada objek tertentu. Misalnya pemilihan pada checkbox atau radio button.
·      KeyListener berfungsi untuk menangani reaksi dari keyboard. Misalnya penekanan tombol Ctrl, Alt, dll.
·      MouseListener berfungsi untuk menangani reaksi dari penekanan tombol pada mouse.
·    MouseMotionListener berfungsi untuk menangani reaksi akibat mouse digerakkan, misalnya melewati lokasi komponen tertentu.
·      MouseWheelListener berfungsi untuk menangani reaksi event scroll pada mouse.
·      TextListener berfungsi untuk menangani event pada text.
·    WindowListener berfungsi untuk menangani reaksi atas perubahan jendela akibat ukuran diperbesar, dikecilkan, dipindah maupun ditutup.
·      WindowFocusListener berfungsi untuk menangani reaksi pada jendela.
·      WindowStatelListener berfungsi untuk menangani status event jendela.

3.    Event Handler
Event Handler berupa blok 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 akan didefenisikan pada blok Event Handler.

LANGKAH-LANGKAH PRAKTIKUM

A.   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 :



B.   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 :
 
 
C.   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=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 :