Professional Documents
Culture Documents
Asep Komarudin
EVENT HANDLER event hendler adalah proses yang diperlukan untuk melakukan reaksi bila diberikan sebuah aksi.event hendler ini dapat dibertikan pada semua objek yangkita gunakan sesuai dengan keperluan.berikut ini adalah beberapa contoh untuk menangani event hendler 1. Event hendler untuk menangani klik mouse pada Jbutton contoh: import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; /** * * @author asep */ public class ContohPenangananEvent extends JFrame { JPanel panel=new JPanel(); JTextField txtNilaiA=new JTextField(10); JTextField txtNilaiB=new JTextField(10); JButton btnTambah=new JButton(" + "); JTextField hasil=new JTextField(10); JButton exit=new JButton("Exit"); public ContohPenangananEvent() {
aasseepp@gmail.com
Page 1
Asep Komarudin
Asep Komarudin
public void actionPerformed(ActionEvent ae) { System.exit(0); } }); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here ContohPenangananEvent event=new ContohPenangananEvent(); event.tampilKomponen(); event.AksiReaksi(); } }
aasseepp@gmail.com
Page 3
Asep Komarudin
dan ini ketika dilakukan penjumlahan penjelasan program: JPanel panel=new JPanel(); JTextField txtNilaiA=new JTextField(10); JTextField txtNilaiB=new JTextField(10); JButton btnTambah=new JButton(" + "); JTextField hasil=new JTextField(10); JButton exit=new JButton("Exit"); Merupakan deklarasi dari objek objek yang akan digunakan dalam aplikasi. public ContohPenangananEvent() { setTitle("Contoh penjumlahan"); setLocationRelativeTo(null); setSize(270, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } Construktor dari aplikasi ContohPenangananEvent untuk membuat tampilan fanel public void tampilKomponen(){ getContentPane().setLayout(new BorderLayout());
aasseepp@gmail.com
Page 4
Asep Komarudin
Merupakan metode yang digunakan untuk mengatur posisi masing -masing komponen pada sebaah panel dan frame. public void AksiReaksi(){ btnTambah.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) { double x= Double.parseDouble(txtNilaiA.getText()); double y=Double.parseDouble(txtNilaiB.getText()); String jumlh=String.valueOf(x+y); hasil.setText(jumlh); } });
aasseepp@gmail.com
Page 5
Asep Komarudin
public void actionPerformed(ActionEvent ae) { System.exit(0); } }); } Metode inilah yang akan kita gunakan untuk menempatkan kode kode program event handler.pada contoh diatas terdapat dua contoh event handler yaitu penekanan mouse pada tombol oprasi dan penekanan mouse pada tombiol exit. Kode untuk event mouseklik mempunyai batasan sebagai berikut: aksi.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) { //isi program } }); Pada metode diatas inilah efek yang timbul dari aksi klik mouse pada button tambah dan exit.Pada bagian isis program kita isiskan kode program double x= Double.parseDouble(txtNilaiA.getText()); double y=Double.parseDouble(txtNilaiB.getText()); kedua kode diatas adalah untuk mengambil nilai dari JtextField dengan mengubahnya dari string menjadi double ngan kode Double.parseDouble dan menyimpannya kedalam variable x dan y. String jumlh=String.valueOf(x+y); Kode diatas digunakan untuk proses penjumlahan duabauh nilai yang kita ambildari JtextField dan telah merubahnya kedalam bentuk double.dan kita mennympannya pada variable jumlah dalam bentuk string dengan cara Strig.valueOf(x+y) aasseepp@gmail.com Page 6
Asep Komarudin
kode ini kita gunakan untuk menampilkan hasil kedalam Jtextfield pada tompbol exit kita masukan Sysem.exit(0) agar aplikasi berhenti saat tombol exit diklik.
aasseepp@gmail.com
Page 7
Asep Komarudin
Asep Komarudin
Asep Komarudin
Asep Komarudin
ContohPenangananEvent event=new ContohPenangananEvent(); event.tampilKomponen(); event.AksiReaksi(); } } Apabila kita jalankan kode diatas tidak ada perubahan tampilan, sama dengan tampilna daiaas.bedanya dengan program diatas adalah pada program yang ini kita bisa melakukan event klik dan enter(jadi apa yang disukai diantara klik sama enter pilih saja sesukanya). Pada kode btnTambah.requestFocus(); ini menunjikan kode yang memungkinkan perpindahan kursor dari jtextField ke buttn tambah.
aasseepp@gmail.com
Page 11
Asep Komarudin
Asep Komarudin
Asep Komarudin
cetak.append("Kelamin :"+butonPrp.getText()+"\n"); } } }); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here PenangananRadioButton prb=new PenangananRadioButton(); prb.initKomponen(); prb.aksi(); } }
aasseepp@gmail.com
Page 14
Asep Komarudin
if(butonLaki.isSelected()==true){ cetak.append("Kelamin :"+butonLaki.getText()+"\n"); }else{ cetak.append("Kelamin :"+butonPrp.getText()+"\n"); } } }); } Kode: cetak.append("Nama cetak.append("Nim :"+txtnama.getText()+"\n"); :"+txtNim.getText()+"\n");
Digunakan untuk mengambil text yang ada dalam textnama dan textNim, kemudian meniuliskannya kedalam JTExtAtea.Pengunaan cetak.append akan menyebabaka text yang kita masukan kedalam textarea akan terus bertambah tanpa menghapus text yang sudah ada.Bila kita mengunakan cetak.settext maka tulisan yang sebelumnya akan akan hilang dan akan digantikan dengan text yang baru. if(butonLaki.isSelected()==true){ cetak.append("Kelamin :"+butonLaki.getText()+"\n"); }else{ cetak.append("Kelamin :"+butonPrp.getText()+"\n"); aasseepp@gmail.com Page 15
Asep Komarudin
Merupakan baris kode yang digunakan untuk menangkap pilihan pengguna pada radibutton.bila rado button L yang dipilih maka radio button itu yang akan ditampilkan dan begitupula dengan sebaliknya. 4. Event handling untuk jCheckBox Kita kembangkan program diatas,dengan menambahkan JcheckBox.kodenya seperti dibawah ini. public class PenangananRadioButton extends JFrame{ JPanel panel=new JPanel(); JLabel labelNama=new JLabel("Nama"); JTextField txtnama=new JTextField(20); JLabel labelNim=new JLabel("Nim"); JTextField txtNim=new JTextField(20); JLabel labelKelamin=new JLabel("Kelamin"); JRadioButton butonLaki=new JRadioButton("L"); JRadioButton butonPrp=new JRadioButton("P"); ButtonGroup grupKlamin=new ButtonGroup(); JButton btnCetak=new JButton("Cetak"); JTextArea cetak=new JTextArea(); JCheckBox cekRenang=new JCheckBox("Renang"); JCheckBox cekbaca=new JCheckBox("Baca"); JCheckBox cekFootbal=new JCheckBox("Sepakbola"); JLabel hoby=new JLabel("Hoby"); public PenangananRadioButton() { setTitle("Contoh penanganan radiobutton"); setLocation(300, 300);
aasseepp@gmail.com
Page 16
Asep Komarudin
Asep Komarudin
:"+txtnama.getText()+"\n"); :"+txtNim.getText()+"\n");
if(butonLaki.isSelected()==true){ cetak.append("Kelamin :"+butonLaki.getText()+"\n"); }else{ cetak.append("Kelamin :"+butonPrp.getText()+"\n"); } if(cekRenang.isSelected()==true){ cetak.append(cekRenang.getText()+"\n"); aasseepp@gmail.com Page 18
Asep Komarudin
aasseepp@gmail.com
Page 19
Asep Komarudin
Pada kode diatas hanya menambahkan satu buah jlabel tiga buah jCheckBox dan yang lainya setingan untuk meletakan komponen yang dirubah dari yang sebelumnya. Pada kode yang berwarna merah itu sebenarnya hampirsama dengan jRadiobuton cuma bedanya kalo jradio button harus pilih salah satu sedangkan jCheckBok boleh dipilih yang sesuai.
aasseepp@gmail.com
Page 20
Asep Komarudin
Asep Komarudin
Asep Komarudin
frameedit.getContentPane().setLayout(new BorderLayout()); frameedit.add(pan); JLabel label=new JLabel("Contoh edit"); label.setBounds(10, 10, 150, 20); pan.add(label); }public void tampilHelp(){ JFrame jf=new JFrame("about me"); jf.setLocationRelativeTo(null); jf.setSize(250, 150); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here EventpadaMenu em=new EventpadaMenu(); em.initkomponen(); em.alsi(); } }
aasseepp@gmail.com
Page 23
Asep Komarudin
aasseepp@gmail.com
Page 24
Asep Komarudin
Penjelasan program: JMenuBar mb=new JMenuBar(); JMenu file=new JMenu("File"); JMenu help=new JMenu("Help"); JPanel panel=new JPanel(); JMenuItem input=new JMenuItem("Input"); JMenuItem edit=new JMenuItem("Edit"); aasseepp@gmail.com Page 25
Asep Komarudin
Asep Komarudin
public void actionPerformed(ActionEvent ae) { PenangananRadioButton prb=new PenangananRadioButton(); prb.initKomponen(); prb.aksi(); } }); edit.addActionListener(new ActionListener() {
Asep Komarudin
Metode ini kita buat untuk menjalankan event klik pada menu seperti menu input,edit,exit dan help. public void tapilEdit(){ JFrame frameedit=new JFrame("Contoh edit"); frameedit.setLocationRelativeTo(null); frameedit.setSize(250, 150); frameedit.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frameedit.setVisible(true); JPanel pan=new JPanel(); pan.setBackground(Color.CYAN); pan.setLayout(null); frameedit.getContentPane().setLayout(new BorderLayout()); frameedit.add(pan); JLabel label=new JLabel("Contoh edit"); label.setBounds(10, 10, 150, 20); pan.add(label); } Metode ini kita buat untuk menampilkan sebuah frame pada saat menu edit di klik public void tampilHelp(){ JFrame jf=new JFrame("about me"); jf.setLocationRelativeTo(null); jf.setSize(250, 150); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aasseepp@gmail.com
Page 28
Asep Komarudin
itemListner
none
mouseListner
MouseAdapter
WindowListner
WindowAdapter
aasseepp@gmail.com
Page 29