Assalamualaikum...
Hei Hei Holla... Welcome back to mae blog hehe..
Next.
Pada postingan sebelumnya pastinya sudah paham yah
bagaimana cara membuat suatu tampilan frame yang rapi dengan menggunakan
management layot dimana di dalam nya terdapat beberapa objek seperti label,
textbox, button, checkbox, combobox, list and etc.
Sebelumnya kita hanya bisa membuat objek tanpa ada
tindakan yang terjadi saat button di klik, nah pada postingan kali ini kita
akan membuat objek2 tersebut melakukan sebuah tindakan. Bagiamana caranya ?
Caranya adalah dengan menambahkan event handling
pada program kita. Nah apa itu Event Handling ?
Event
Handling adalah suatu metode untuk menangani sebuah event/aksi yang
diberikan penngguna kepada suatu komponen GUI. Event adalah suatu
peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol
ditekan. Dua paket yang biasa digunakan untuk menangani kejadian adalah java.awt.event
dan javax.swing.event. Event handling dalam menangani event terbagi
menjadi 3 macam yaitu Event Surce, Event Listener dan Event Handler.
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 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. Dibawah ini disajikan beberapa listener yang dapat
digunakan dalam mendeteksi event.
ActionListener
|
Untuk
menangani reaksi atas perubahan status pada objek yang digunakan. Misalnya
akibat penekanan tombol mouse atau keyboard.
|
AdjustmentListener
|
Untuk
menangani reaksi atas perubahan status pada objek yang digunakan pada saat
pemyesuaian. misalnya akibat dari penggeseran scrollbar.
|
FocusListener
|
Untuk
menangani reaksi atas perubahan status akibat fokus berada pada objek
tertentu. Misalnya kursor berada pada textfield.
|
ItemListener
|
Untuk
menangani reaksi atas perubahan status pada pilihan yang terdapat pada objek
tertentu. Misalnya pemilihan pada checkbox atau radiobutton.
|
KeyListener
|
Untuk
menangani reaksi dari keyboard. Misalnya penekanan tombol Ctrl, Alt dan
sebagainya.
|
Mouse
Listener
|
Untuk
menangani reaksi dari penekanan tombol pada mouse.
|
MouseMotionListener
|
Untuk
menangani reaksi akibat mouse digerakkan, misalkan melewati lokasi komponen
tertentu.
|
MouseWheelListener
|
Untuk
menangani reaksi event scroll pada mouse.
|
TextListener
|
Untuk
menangani event pada teks.
|
WindowListener
|
Untuk
menangani reaksi atas perubahan jendela akibat ukuran diperbesar, dikecilkan,
dipindah maupun ditutup.
|
WindowFocusListener
|
Untuk
menangani reaksi pada jendela.
|
WindowStateLIstener
|
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 didefenisikan pada blok
Event Handler.
So langsung aja
ke kode program nya ya
1.
MEMBUAT PROGRAM EventButton.java
Syntax Program :
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 Program :
2.
MEMBUAT PROGRAM EventRadio.java
Syntax Program :
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 Program :
3.
MEMBUAT PROGRAM EventComboBox.java
Syntax Program :
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 Program :
4.
MEMBUAT PROGRAM PanggilInputData.java
Syntax Program :
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 = new JTextField();
JTextField fBasket = new JTextField();
JTextField fKosong = new 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 btnCancel = new JButton("CANCEL");
public InputData() {
setTitle("INPUT DATA");
setSize(350,250);
setResizable(false);
ButtonGroup 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(cbSepakBola);
add(cbBasket);
add(cbKosong);
add(btnSave);
add(btnCancel);
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,85,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);
btnCancel.setBounds(180,170,120,20);
setVisible(true);
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
view("Tampilan");
}
}
);
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
fNama.setText(null);
cmbAgama.setSelectedIndex(0);
cbSepakBola.setSelected(false);
cbBasket.setSelected(false);
cbKosong.setSelected(false);
cbSepakBola.setEnabled(true);
cbBasket.setEnabled(true);
}
}
);
cbKosong.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
JCheckBox source = (JCheckBox)ie.getItemSelectable();
String kosong = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED)
{
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 actionPerformed(ActionEvent ae) {
String pria = ae.getActionCommand();
fJnsKlmn.setText(""+pria);
}
}
);
rbWanita.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String wanita = ae.getActionCommand();
fJnsKlmn.setText(""+wanita);
}
}
);
cbSepakBola.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
JCheckBox source = (JCheckBox)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) {
JCheckBox source = (JCheckBox)ie.getItemSelectable();
String basket = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED)
fBasket.setText(""+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 = fBasket.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 PanggilInputData {
public static void main(String []args){
new InputData();
}
}
Output Program :
Oke sekarang
sudah tau kan gimana caranya membuat suatu tindakan pada sebuah objek dengan
menggunakan event handling. Sampai disini dulu topik pembahasan kita. Semoga
Bermanfaat ya. Terimakasih Sudah Berkunjung..
Lets being smart
on BLOG PINTAR WANDARIZKI
See you..
Wasalamualaikum
Warahmatullahi Wabarakatuh..
Tidak ada komentar:
Posting Komentar