Anda di halaman 1dari 6

1

PERTEMUAN 4 EVENT MODEL (Interface Action Listener)


1. Tujuan

Mengenal Event Model yang terdapat pada Java. Mampu menggunakan Interface Action Listener.
2. Defenisi

Events : Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan. Dua paket yang biasa digunakan menangani kejadian adalah java.awt.event dan java.swing.event. Event sources komponen yang mendapatkan suatu event yang kemudian ditangkap oleh Event Listener. Event handlers sebuah method yang menerima sebuah event object, menerjemahkan, dan memproses interaksi dari user. 1. Event - Listener. Jika sebuah CLASS ingin bereaksi atas aksi yang dilakukan oleh pemakai(user) melalui keyboard, mouse atau lainnya, maka Java menjawab dengan sistem yang disebut sebagai Event Handling. Program atau Interface ini disebut sebagai EventListener ActionListener Bereaksi atas perubahan komponen , seperti klik mouse atau tombol. AdjustmentListener Bereaksi atas perubahaan komponen untuk penyesuaian, misalnnya scrollbar yang digerakkan. FocusListener Event yang disebabkan oleh focus pada field, misalnya kursor berada pada field tersebut. ItemListener Bereaksi pada perubahan checkbox, radiobutton dan lainnya. KeyListener Bereaksi atas keyboard, misalnya penekanan tombol ALT Ctrl dan lainnya. WindowsListener Bereaksi atas perubahaan pada window, misalnya diperbesar, diperkecil, digeser atau ditutup. MouseMotionListener Bereaksi atas pergerakan mouse, misalnya bila melewati area komponen tertentu. Listeners terdaftar pada java.awt.event.*

2. 3. 4. 5. 6. 7. 8.

Setelah komponen dideklarasikan, maka listener dapat ditambahkan pada komponen tersebut, misalnya pada Button: Jbutton b1=new Jbutton("Tombol"); b1.addActionListener( ) Listener harus ditAmbahkan lebih dahulu ke dalam komponen, sebelum komponen tersebut diletakkan pada Frame/ Content Pane. Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

3. Kategori Event Berikut ini merupakan bagan yang menggambarkan posisi events di java library :

Java GUI Behavior :

Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

4. Action Listener

Latihan 1. Action Listener pada JButton Untuk Menyalin text pada JtextArea //MenyalinIsiTextField.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class MenyalinIsiTextField { private JFrame f; private JTextField tf1,tf2; private JButton button; private Cetak cetak; void tampilGUI(){ tf1 = new JTextField(); tf1.setBounds(10, 10, 100, 20); tf2 = new JTextField(8); tf2.setBounds(230, 10, 100, 20); button = new JButton("Copy >>"); button.setBounds(120, 10, 100, 20); f = new JFrame("Frame"); f.setLayout(null);

Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

4
17 f.setBounds(10,10, 400, 100); 18 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 19 f.getContentPane().add(tf1); f.getContentPane().add(button); 20 f.getContentPane().add(tf2); f.setVisible(true); 21 } 22 23 void addCetakListener(){ 24 cetak =new Cetak(); 25 button.addActionListener(cetak); 26 } 27 28 private class Cetak implements ActionListener { 29 public void actionPerformed(ActionEvent e) { 30 tf2.setText(tf1.getText()); 31 } 32 } 33 34 public static void main (String[]args){ 35 MenyalinIsiTextField obj = new MenyalinIsiTextField(); 36 obj.tampilGUI(); 37 obj.addCetakListener(); 38 } 39 }

Output :

Latihan 2. Action Listener Pada JButton untuk mengambil item yang terselect pada JComboBox.

//EventPadaJComboBox.java
1 import java.awt.event.*; 2 import javax.swing.*; 3 4 public class JButtonActionListener1 { 5 private JFrame f; 6 private JComboBox cb; 7 private JLabel lbl; 8 private JButton button; 9 private Proses proses; 10 void tampilGUI(){ 11 String[] isi ={"Islam","Kristen","Protestan","Hindu","Budha"}; 12 cb = new JComboBox(isi); 13 cb.setBounds(10, 10, 100, 20); 14 button = new JButton("Proses"); 15 button.setBounds(120, 10, 100, 20); 16 lbl = new JLabel(""); 17 lbl.setBounds(230, 10, 200, 20); 18 f = new JFrame("Frame"); f.setSize(500,100); f.setLayout(null); 19 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 20 f.getContentPane().add(cb); f.getContentPane().add(button); 21 f.getContentPane().add(lbl); f.setVisible(true);

Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

5
22 } 23 void addProsesListener(){ 24 proses =new Proses(); 25 button.addActionListener(proses); 26 } 27 28 private class Proses implements ActionListener { 29 public void actionPerformed(ActionEvent e) { 30 lbl.setText("Agama Saya : "+String.valueOf(cb.getSelectedItem())); 31 } 32 } 33 34 public static void main (String[]args){ 35 JButtonActionListener1 obj = new JButtonActionListener1(); 36 obj.tampilGUI(); 37 obj.addProsesListener(); 38 } 39 } Output :

Pada latihan 2 diatas, ketika object button di klik, item yang terselect pada object cb akan menjadi text pada object lbl. Latihan 3. Action Listener pada JButton untuk mengambil nilai pada JcheckBox dan JRadioButton

//JButtonActionListener2.java
1 java.awt.event.*; import javax.swing.*; 2 public class JButtonActionListener2 { 3 private JFrame f; 4 private JCheckBox cBoxVolly,cBoxTakraw; 5 private JRadioButton rbLaki,rbPerempuan; private ButtonGroup bg; 6 private JButton button; private JTextArea textArea; 7 private Proses proses; 8 9 void tampilGUI(){ 10 cBoxVolly = new JCheckBox("Volly"); cBoxVolly.setBounds(10, 10, 100, 20); 11 cBoxTakraw = new JCheckBox("Takraw"); cBoxTakraw.setBounds(110, 10, 100, 20); 12 // cBoxVolly.setHorizontalTextPosition(JCheckBox.LEFT); 13 rbLaki = new JRadioButton("laki-laki"); rbLaki.setBounds(10, 30, 100, 20); 14 rbPerempuan = new JRadioButton("Perempuan"); 15 rbPerempuan.setBounds(110, 30, 100, 20); 16 bg= new ButtonGroup(); bg.add(rbLaki); bg.add(rbPerempuan); 17 18 button = new JButton("Proses"); button.setBounds(10, 50, 100, 20); 19 20 textArea= new JTextArea(); textArea.setBounds(10,80,250,50); 21 textArea.setLineWrap(true); 22 23 f = new JFrame("Frame"); f.setSize(300,200); f.setLayout(null); 24 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 25 f.getContentPane().add(cBoxVolly); f.getContentPane().add(cBoxTakraw);

Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

6
26 f.getContentPane().add(rbLaki); f.getContentPane().add(rbPerempuan); 27 f.getContentPane().add(button); f.getContentPane().add(textArea); 28 f.setVisible(true); 29 } 30 void addProsesListener(){ 31 proses =new Proses(); 32 button.addActionListener(proses); 33 } 34 35 private class Proses implements ActionListener { 36 public void actionPerformed(ActionEvent e) { 37 String volly="", takraw=""; 38 if(cBoxVolly.isSelected()) { volly = "Volly"; } 39 if(cBoxTakraw.isSelected()) { takraw = "Takraw"; } 40 41 String jenisKelamin=""; 42 if(rbLaki.isSelected()) { jenisKelamin= rbLaki.getText();} 43 if(rbPerempuan.isSelected()) { 44 jenisKelamin= rbPerempuan.getText(); 45 } 46 textArea.setText("Hobi: "+volly+" "+takraw+"\n " + 47 "Jenis Kelamin "+jenisKelamin); 48 } 49 } 50 public static void main (String[]args){ 51 JButtonActionListener2 obj = new JButtonActionListener2(); 52 obj.tampilGUI(); 53 obj.addProsesListener(); 54 } 55 }

Output :

Tugas : Pada pertemuan sebelumnya, kita telah membuat sebuah form biodata tanpa event, tambahkan event pada object JButton , sehingga saat object JButton diklik, maka text/nilai yang terselect pada komponen object yang ada ( Nama, NIM, Tempat Lahir, Tgl lahir, Jenis Kelamin, Hobi, Agama, dan Alamat) akan disalin kedalam sebuah TextArea.

Mata Kuliah : OOP II (Pertemuan ke-4) Dosen Pengasuh : Surya Syahrani STMIK AMIK RIAU PEKANBARU 2012

Anda mungkin juga menyukai