Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Kita akan mendemokan teori Event Handling yang sudah kita pelajari dalam tutorial sebelumnya dengan membuat sebuah aplikasi tombol sederhana :
Pertama-tama kita buat form dengan sebuah tombol seperti tampak pada gambar berikut :
Kode sumbernya tampak seperti berikut :
package com.eclipseprogramming.tombolSwing; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JButton; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JLabel; public class EventHandlingContoh extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { EventHandlingContoh frame = new EventHandlingContoh(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public EventHandlingContoh() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblLabelKemunculanPesan = new JLabel("LABEL KEMUNCULAN PESAN"); lblLabelKemunculanPesan.setBounds(55, 35, 339, 58); contentPane.add(lblLabelKemunculanPesan); JButton button = new JButton("Tombol"); button.setBounds(121, 162, 200, 50); contentPane.add(button); } }
Selanjutnya kita tambahkan event Handler seperti berikut :
Klik kanan di tombol, lalu pilih Add Handler –> Mouse –> mouseclicked :
Kita akan dapatkan kode kita bertambah dengan baris seperti berikut :
button.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { } });
Seperti yang diteorikan sebelumnya EventHandler menambahkan ke button yang ada kode kita sebuah objek baru dari class MouseAdapter(), kemudian metode dari class Listener (dalam hal ini MouseListener) ditambahkan ke objek tersebut.
Kodenya tampak di bagian :
<pre>button.addMouseListener(new MouseAdapter()
Objek kemudian diforward ke metode yang ada yakni mouseClicked, terlihat di kode
public void mouseClicked(MouseEvent e)
Terakhir kita sisipkan kode yang akan dieksekusi untuk mengeluarkan teks di JLabel seperti berikut :
lblLabelKemunculanPesan.setText("Anda Menekan Tombol");
Sehingga kodenya menjadi :
button.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { lblLabelKemunculanPesan.setText("Anda Menekan Tombol"); } });
Jika kita jalankan aplikasinya dan kita tekan tombolnya maka akan tampil seperti pada gambar berikut ini :
Kode lengkapnya akan tampak seperti berikut :
package com.eclipseprogramming.tombolSwing; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JButton; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JLabel; public class EventHandlingContoh extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { EventHandlingContoh frame = new EventHandlingContoh(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public EventHandlingContoh() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblLabelKemunculanPesan = new JLabel("LABEL KEMUNCULAN PESAN"); lblLabelKemunculanPesan.setBounds(55, 35, 339, 58); contentPane.add(lblLabelKemunculanPesan); JButton button = new JButton("Tombol");</pre> <pre>button.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { lblLabelKemunculanPesan.setText("Anda Menekan Tombol"); } });</pre> <pre> button.setBounds(121, 162, 200, 50); contentPane.add(button); } }
Selamat mencoba (reza@rumahilmu.or.id)
Leave a Reply