Thursday, October 31, 2019

EVENT HANDLING LANJUTAN


Penggunaan Event Handling Pada Komponen-Kompenen Java Swing

Tugas!

1.      Membuat sebuah tampilan form menggunakan checkbox, dengan memodifikasi EventRadio.java lalu menggantikan JRadioButton jadi menggunakan JcheckBox. Berikut kode program dan hasilnya.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class CheckBoxHandling extends JFrame implements ItemListener {
            private JTextField teks;
            private JPanel panel;
            private JCheckBox cbTn1, cbTn2, cbTn3;
            public CheckBoxHandling() {
                        setTitle("Coba CheckBox Button Handling");
                        teks = new JTextField("Jenis Kelamin : Pilihan");
                        teks.setHorizontalAlignment(SwingConstants.CENTER);
                        panel = new JPanel(new FlowLayout());
                        cbTn1 = new JCheckBox("Pria");
                        cbTn2 = new JCheckBox("Wanita");
                        cbTn3 = new JCheckBox("Banci");
                        ButtonGroup group = new ButtonGroup();
                        group.add(cbTn1);
                        group.add(cbTn2);
                        group.add(cbTn3);
                        cbTn1.addItemListener(this);
                        cbTn2.addItemListener(this);
                        cbTn3.addItemListener(this);
                        setLayout(new BorderLayout());
                        add(teks, "North");
                        add(panel, "West");
                        panel.add(cbTn1);
                        panel.add(cbTn2);
                        panel.add(cbTn3);
                        pack();
                        setVisible(true);
                        setLocation(200,200);
                        setDefaultCloseOperation(EXIT_ON_CLOSE);
                        }
                        public void itemStateChanged(ItemEvent event) {
                                    if(event.getSource()==cbTn1) {
                                                if(event.getStateChange()==ItemEvent.SELECTED)
                                                teks.setText("Jenis Kelamin : Pria");
                                                }
                                                if(event.getSource()==cbTn2) {
                                                            if(event.getStateChange()==ItemEvent.SELECTED)
                                                            teks.setText("Jenis Kelamin : Wanita");
                                                            }
                                                            if(event.getSource()==cbTn3) {
                                                                        if(event.getStateChange()==ItemEvent.SELECTED)
                                                                        teks.setText("Jenis Kelamin :Banci");
                                                                        }
                                                                        }
                                                                        }
                                                                        public class EventcheckBox {
                                                                                    public static void main (String[] args) {
                                                                                                new CheckBoxHandling();
                                                                                                }
                                                                                                }


2.      Membuat tampilan Form Login dengan menambahkan Event Handling agar program dapat melaksanakan sebuah perintah atau proses dan aksi. Sehingga ketika button login/ok atau cancel dapat melakukan prosesnya. Berikut kode program dan hasilnya.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class login extends JFrame implements ActionListener{
public JLabel usnama, password;
public JTextField tusnama;
public JPasswordField ppas;
public JButton login, exit;

public login(){
usnama = new JLabel("User Name :");
usnama.setLocation(20, 30);
usnama.setSize(usnama.getPreferredSize());
tusnama = new JTextField(20);
tusnama.setLocation(150, 30);
tusnama.setSize(tusnama.getPreferredSize());

password = new JLabel("Password :");
password.setLocation(20, 60);
password.setSize(password.getPreferredSize());
ppas = new JPasswordField(20);
ppas.setEchoChar('?');
ppas.setLocation(150, 60);
ppas.setSize(ppas.getPreferredSize());

login = new JButton("Ok");
login.setLocation(250, 90);
login.addActionListener(this);
login.setSize(login.getPreferredSize());
exit = new JButton("Cancel");
exit.setLocation(320, 90);
exit.addActionListener(this);
exit.setSize(exit.getPreferredSize());

}

public void show(){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f = new JFrame("Login");
f.setLayout(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.getContentPane().add(usnama);
f.getContentPane().add(tusnama);
f.getContentPane().add(password);
f.getContentPane().add(ppas);
f.getContentPane().add(login);
f.getContentPane().add(exit);

f.setBounds(0, 0, 410, 200);
f.setLocationRelativeTo(null);
f.setVisible(true);
}

public static void main(String[]args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
login tampil = new login();
tampil.show();
}
});
}

private String user="", passs="";
public void actionPerformed(ActionEvent e) {
if (e.getSource()==exit){
System.exit(ABORT);
}
if (e.getSource()==login) {
user = tusnama .getText();
passs = ppas .getText();
if (user.equals("Login")&& passs.equals("enterduakali")){
//Login masuk = new Login();
//masuk.show();
}
else {
JOptionPane.showMessageDialog(null, "Username and password Tidak Valid");
usnama .setText("");
ppas .setText("");
usnama.requestFocus(true);
}
}
}
}

No comments:

Post a Comment

Praktikum Pemrograman Berorientasi Objek Komponen GUI 2

KOMPONEN-KOMPONEN SWING LANJUTAN Swing merupakan alternatif lain untuk mengimplementasikan pemprograman Window. Walaupun diimplementasik...