P – 6
Bab 5 : Event Handler & Sistem Menu
5.1 Tujuan
Mahasiswa mampu :
•
Mengetahui dan memahami Event Handling dalam pemrograman Java.
•
Mengetahui dan memahami Sistem Menu dalam pemrograman Java.
5.2 Materi
1. Event Handler
2. Sistem Menu dan Penanganan Menu
5.3 Event Handler
•
Event handler merupakan suatu reaksi yang terjadi apabila user memberikan sebuah
simulasi terhadap komponen-komponen GUI.
•
Event handler dapat diberikan terhadap semua object yang digunakan, yang disesuaikan
dengan keperluan user.
Penanganan Text Field
•
Contoh program :
/* * Event_1.java
* author : SidiQ - UMBY --- */ import javax.swing.*;
import java.awt.event.*; class Event_1 extends JFrame {
JLabel labelName=new JLabel("Name");
JTextField textfName=new JTextField(30);
JTextArea textaView = new JTextArea();
JButton buttonINPUT=new JButton("INPUT");
Event_1() { setTitle("Event_1"); setLocation(300,100); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelName); labelName.setBounds(10,10,70,20); getContentPane().add(textfName); textfName.setBounds(90,10,130,20); getContentPane().add(buttonINPUT); buttonINPUT.setBounds(10,40,70,20); getContentPane().add(buttonEXIT); buttonEXIT.setBounds(10,65,70,20); getContentPane().add(textaView); textaView.setBounds(90,40,150,50); setVisible(true); } void Perintah() { buttonINPUT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { textaView.append(textfName.getText()); } }); buttonEXIT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); }
}); }
public static void main(String[]args) {
Event_1 sq=new Event_1(); sq.GUI();
sq.Perintah(); }
}
Penanganan Radio Button
•
Contoh program :
/* * Event_2.java
* author : SidiQ - UMBY --- */
import javax.swing.*; import java.awt.event.*; class Event_2 extends JFrame {
JLabel labelGender=new JLabel("Gender");
JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female"); ButtonGroup groupGender=new ButtonGroup();
JTextArea textaView = new JTextArea();
JButton buttonINPUT=new JButton("INPUT");
JButton buttonEXIT=new JButton("EXIT");
Event_2() { setTitle("Event_2"); setLocation(300,100); setSize(270,150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelGender); labelGender.setBounds(10,10,70,20); getContentPane().add(radioMale); radioMale.setBounds(90,10,60,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,10,80,20);
groupGender.add(radioMale); groupGender.add(radioFemale); getContentPane().add(buttonINPUT); buttonINPUT.setBounds(10,40,70,20); getContentPane().add(buttonEXIT); buttonEXIT.setBounds(10,65,70,20); getContentPane().add(textaView); textaView.setBounds(90,40,150,50); setVisible(true); } void Perintah() { buttonINPUT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { if(radioMale.isSelected()==true) { textaView.append(radioMale.getText()); } else { textaView.append(radioFemale.getText()); } } }); buttonEXIT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); }
}); }
public static void main(String[]args) {
Event_2 sq=new Event_2(); sq.GUI();
sq.Perintah(); }
}
Penanganan Check Box
•
Contoh program :
/* * Event_3.java
* author : SidiQ - UMBY --- */
import javax.swing.*; import java.awt.event.*; class Event_3 extends JFrame {
JLabel labelClass=new JLabel("Class");
JCheckBox Morning=new JCheckBox("Morning"); JCheckBox Evening=new JCheckBox("Evening"); JCheckBox Extension=new JCheckBox("Extension");
JTextArea textaView = new JTextArea();
JButton buttonINPUT=new JButton("INPUT");
JButton buttonEXIT=new JButton("EXIT");
Event_3() { setTitle("Event_3"); setLocation(300,100); setSize(270,180); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelClass); labelClass.setBounds(10,10,70,20); getContentPane().add(Morning); Morning.setBounds(90,10,100,20); getContentPane().add(Evening);
Evening.setBounds(90,30,100,20); getContentPane().add(Extension); Extension.setBounds(90,50,100,20); getContentPane().add(buttonINPUT); buttonINPUT.setBounds(10,80,70,20); getContentPane().add(buttonEXIT); buttonEXIT.setBounds(10,105,70,20); getContentPane().add(textaView); textaView.setBounds(90,80,150,50); setVisible(true); } void Perintah() { buttonINPUT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { if(Morning.isSelected()==true) { textaView.append(Morning.getText()+"\n"); } if(Evening.isSelected()==true) { textaView.append(Evening.getText()+"\n"); } if(Extension.isSelected()==true) { textaView.append(Extension.getText()+"\n"); } } }); buttonEXIT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); }
}); }
public static void main(String[]args) {
Event_3 sq=new Event_3(); sq.GUI();
sq.Perintah(); }
Output :
5.4 Sistem Menu dan Penanganan Menu
Sistem Menu
•
Dalam pemrograman Java, Sistem menunya dibagi menjadi 3 bagian, antara lain :
1. JmenuBar
2. Jmenu
3. JMenuItem
•
Contoh program :
/* * Event_4.java* author : SidiQ - UMBY --- */
import javax.swing.*; import java.awt.event.*; class Event_4 extends JFrame {
JMenuBar menuContoh=new JMenuBar();
JMenu File=new JMenu("File");
JMenu OpenSubmenu=new JMenu("Open");
JMenuItem Mhs=new JMenuItem("Data Mahasiswa");
JMenuItem Exit=new JMenuItem("Exit"); JMenu About=new JMenu("About");
Event_4() {
setTitle("Event_4"); setLocation(300,100);
setSize(300,220); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { setJMenuBar(menuContoh); menuContoh.add(File); File.add(OpenSubmenu); OpenSubmenu.add(Mhs); File.add(Exit); menuContoh.add(About); setVisible(true); }
public static void main(String[]args) {
Event_4 sq=new Event_4(); sq.GUI(); } }
Output :
Penanganan Menu
•
Contoh program :
/* * Event_5.java* author : SidiQ - UMBY --- */
import javax.swing.*; import java.awt.event.*; class Event_5 extends JFrame {
JMenuBar menuContoh=new JMenuBar(); JMenu File=new JMenu("File");
JMenu OpenSubmenu=new JMenu("Open");
JMenuItem Mhs=new JMenuItem("Data Mahasiswa");
JMenuItem Exit=new JMenuItem("Exit"); JMenu About=new JMenu("About");
JMenuItem AboutDialog=new JMenuItem("About Us");
Event_3 InputData=new Event_3();
Event_5() { setTitle("Event_5"); setLocation(300,100); setSize(500,350); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { setJMenuBar(menuContoh); menuContoh.add(File); File.add(OpenSubmenu); OpenSubmenu.add(Mhs); File.add(Exit); menuContoh.add(About); About.add(AboutDialog); setVisible(true); } void Perintahku() { Mhs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { InputData.GUI(); InputData.Perintah(); } }); Exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); }
});
AboutDialog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { JoptionPane.showMessageDialog(null,"<html> Sample Program ~ By :SQ <br/> <a href='http://sq.web.id'>http://sq.web.id</a> </html>","About",JOptionPane.INFORMATION_MESSAGE); } }); }
public static void main(String[]args) {
Event_5 sq=new Event_5(); sq.GUI();
sq.Perintahku(); }
}
5.5 Memahami Lebih Lanjut Menu dan Form
Menu :
•
Perhatikan penggalan program berikut ini :
Deklarasi Variable :
JMenuBar menuContoh=new JMenuBar();
JMenu File=new JMenu("File");
JMenu OpenSubmenu=new JMenu("Open");
JMenuItem Mhs=new JMenuItem("Data Mahasiswa");
JMenuItem Exit=new JMenuItem("Exit"); JMenu About=new JMenu("About");
JMenuItem AboutDialog=new JMenuItem("About Us");
Pengaturan Menu :
setJMenuBar(menuContoh); menuContoh.add(File); File.add(OpenSubmenu); OpenSubmenu.add(Mhs); File.add(Exit); menuContoh.add(About); About.add(AboutDialog);Keterangan :
Menghubungkan Menu dan Form :
•
Perhatikan penggalan program berikut :
◦
Pastikan form "java : class Event_3" sudah ditulis. → "Event_3.java" (lihat pembahasan
sebelumnya).
◦
Menu 'File' -> 'Data mahasiswa'
JMenu File=new JMenu("File");JMenuItem Mhs=new JMenuItem("Data Mahasiswa");
menuContoh.add(File);
File.add(OpenSubmenu);
OpenSubMenu.add(Mhs);
JmenuBar menuContoh = new JmenuBar();
JMenu File = new JMenu("File");
JMenu OpenSubmenu = new JMenu("Open");
JMenuItem Mhs = new JMenuItem("Data Mahasiswa");
setJMenuBar(menuContoh);
menuMhs
.add(File);
File.add(OpenSubmenu);
Open
Submenu
.add(Mhs);
2
1
→ Menu → Sub Menu → Menu Item◦
Aksi
Mhs.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Event_3 InputData = new Event_3(); InputData.GUI();
InputData.Perintah(); }
});