Assalamu’alaikum
warahmatullahi wabarakatuh
Selamat datang di blog saya...
Jadi pada kesempatan kali ini saya akan membahas tugas
praktikum saya yang kelima yaitu lanjutan latihan Event Handling. Untuk yang belum lihat postingan sebelumnya dapat
dilihat dari teks link di bawah ini :
DASAR
TEORI
Event Handling adalah suatu
metode untuk menangani
sebuah event/aksi yang diberikan pengguna kepada
suatu komponen GUI. Event adalah suatu
peristiwa yang dipicu oleh pengguna
pada suatu komponen,
misalnya tombol ditekan. Dua
paket yang biasa digunakan untuk
menangani kejadian adalah
java.awt.event dan javax.swing.event. Event handling dalam
menangani event terbagi
menjadi 3 macam yaitu Event Surce, Event Listener dan
Event Handler.
1.
Event Source
Event source
adalah komponen yang
mendapatkan suatu event
yang kemudian ditangkap oleh Event
Listener. Event Source dapat dibedakan dari penamaan komponen itu sendiri, misalnya
tombolSimpan, tombolHapus dan lainnya. Dengan penamaan Event Source ini,
sebuah Event Listener
akan dapat mendeteksi
dari mana Event
Listener tersebut berasal.
2.
Event
Listener
Event Listener
digunakan untuk menangkap
event yang terjadi
pada komponen/Event Source. Dibawah ini disajikan beberapa listener yang
dapat digunakan dalam mendeteksi event.
Event
Listener
|
Fungsi
|
ActionListener
|
Untuk menangani
reaksi atas perubahan status pada objek
yang digunakan.
Misalnya akibat penekanan tombol mouse
atau keyboard.
|
AdjustmentListener
|
Untuk menangani
reaksi atas perubahan status pada objek
yang digunakan pada
saat pemyesuaian. misalnya akibat dari
penggeseran
scrollbar.
|
FocusListener
|
Untuk menangani reaksi
atas perubahan status akibat fokus
berada pada objek
tertentu. Misalnya kursor berada pada
textfield.
|
ItemListener
|
Untuk menangani
reaksi atas perubahan status pada pilihan
yang terdapat pada
objek tertentu. Misalnya pemilihan pada
checkbox atau radiobutton.
|
KeyListener
|
Untuk menangani
reaksi dari keyboard. Misalnya penekanan
tombol Ctrl, Alt dan
sebagainya.
|
Mouse Listener
|
Untuk menangani
reaksi dari penekanan tombol pada mouse
|
MouseMotionListener
|
Untuk menangani
reaksi akibat mouse digerakkan, misalkan
melewati lokasi
komponen tertentu.
|
MouseWheelListener
|
Untuk menangani
reaksi event scroll pada mouse
|
TextListener
|
Untuk menangani event
pada teks
|
WindowListener
|
Untuk menangani
reaksi atas perubahan jendela akibat ukuran diperbesar, dikecilkan, dipindah
maupun ditutup.
|
WindowFocusListener
|
Untuk menangani
reaksi pada jendela.
|
WindowStateLIstener
|
Untuk menangani
status event jendela.
|
3.
Event Handler
Event Handler
berupa blok method
dari listener yang
menentukan proses selanjutnya setelah
komponen mendapatkan event.
Misalkan pada event
tombol simpan ditekan, event listener
akan menangkap event
pada Event Source
tombol Simpan, kemudian Event Handler
akan menyimpan data
yang didefenisikan pada
blok Event Handler.
Berikut
ini latihan program Event Handling yang akan di buat :
A.
Membuat Program Handling CheckBox.java
Program ini kita hanya mengganti dari latihan
EventRadio.java. di postingan sebelumnya dengan
mengganti JradioButton dengan menggunakan JcheckBox.
Kode Program
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 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 CheckBox {
public static void
main (String[] args) {
new CheckBoxHandling();
}
}
|
Simpan dengan
nama CheckBox.java selanjutnya :
1.
CTRL+1 untuk
mengkompile program java
2.
CTRL+2 untuk
menjalankan program
Hasil Output Program
Pada
program CheckBox.java kita menggunakan event handling dengan event source CheckBox
dimana event listener yang digunakan yaitu item listener yang menangani reaksi
atas perubahan status pada pilihan yang terdapat pada objek tertentu dan event
handler terdapat pada teks label “Jenis kelamin : Pilihan” dan saat kita
memilih salah satu dari pilihan CheckBox button yang kita klik maka status
pilihan akan berubah.
Program ini hampir sama dengan EventRadio.java
perbedaannya hanya pada penampilan button pilihannya dimana pada radio button
itu berbentuk bulat sedangkan untuk CheckBox itu berbentuk kotak dengan tanda ü pada kotak yang kita pilih.
B.
Membuat Program Login.java dengan memberikan Event
Handling
Pada postingan latihan program manajemen layout lanjutan lalu kita membuat hanya form login tanpa adanya event/
pemberian aksi pada program login yang kita buat, jadi pada latihan ini kita
akan menambahkan Even Handling pada form Login yang telah di buat pada
postingan sebelumnya.
Kode Program
import javax.swing.*;
import java.awt.event.*;
class GUI extends JFrame {
JLabel lNama = new JLabel
("Username
: ");
final JTextField fNama = new JTextField
(10);
JLabel lpassword = new JLabel
("Password
: ");
final JTextField fpassword
= new JPasswordField();
JButton bTNSave = new JButton("OK");
JButton bTNCancel = new JButton("Cancel");
int count = 0;
public GUI() {
setTitle("Login");
setDefaultCloseOperation(3);
setSize(350,200);
ButtonGroup Group = new ButtonGroup();
setLayout(null);
add(lNama);
add(fNama);
add(lpassword);
add(fpassword);
add(bTNSave);
add(bTNCancel);
lNama.setBounds(10,10,120,20);
fNama.setBounds(130,10,150,20);
lpassword.setBounds(10,35,120,20);
fpassword.setBounds(130,35,150,20);
bTNSave.setBounds(50,70,100,20);
bTNCancel.setBounds(160,70,100,20);
setVisible(true);
bTNSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent
e)
{
String username = fNama.getText().toString();
String passwd = fpassword.getText().toString();
if(username.equals("vika") && passwd.equals("vika123"))
{
JOptionPane.showMessageDialog(null, "Anda berhasil login, \n\nSilahkan Klik OK
untuk Melihat Data Anda");
view("Tampilan");
}
else
{
JOptionPane.showMessageDialog(null, "Username/Password Anda salah!!!");
//count++;
}
if(count == 3)
{
JOptionPane.showMessageDialog(null, "Anda sudah gagal Login sebanyak 3 kali. Harap
coba lagi nanti . . .");
System.exit(1);
}
}
});
bTNCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent
ae)
{
fNama.setText(null);
fpassword.setText(null);
}
});
}
public int view(String action)
{
String data = "DATA ANDA :\n\nNama : Tri Novika \n\nProdi : Sistem Informasi
\n\nSemester : 7\n\nSTIKOM Tunas
Bangsa Pematangsiantar";
int message = JOptionPane.showConfirmDialog(null, data,"DATA
LOGIN",JOptionPane.CLOSED_OPTION,JOptionPane.QUESTION_MESSAGE);
return message;
}
}
class login {
public static void main
(String [] args){
GUI G = new GUI();
}
}
|
Simpan dengan
nama login.java selanjutnya :
1.
CTRL+1 untuk
mengkompile program java
2.
CTRL+2 untuk
menjalankan program
Hasil
Output Program
Program login diatas
kita telah memberikan event handling, dari program login ini kita harus
menginputkan username (vika) dan password (vika123) yang sudah kita inputkan
dikode program jika tidak maka akan muncul pesan username dan password salah
dan jika kita salah sebanyak 3 kali maka program akan tertutup. Jika kita ingin
mengganti password dan username kita bisa merubahnya pada baris kode program if(username.equals("vika") && passwd.equals("vika123")). Ketika berhasil login maka akan
muncul kotak dialog pesan seperti berikut ini :
Perintah
selanjutnya kita akan dapat melihat data ketika kita berhasil login.
Untuk Data kita
juga bisa merubahnya pada baris kode program :
public int view(String action)
{
String data = "DATA ANDA :\n\nNama : Tri Novika \n\nProdi : Sistem Informasi
\n\nSemester : 7\n\nSTIKOM Tunas
Bangsa Pematangsiantar";
int message = JOptionPane.showConfirmDialog(null, data,"DATA
LOGIN",JOptionPane.CLOSED_OPTION,JOptionPane.QUESTION_MESSAGE);
return message;
}
}
|
Sekian Penjelasan Saya Tentang Materi Latihan Lanjutan Event Handling Java
Praktikum Berorientasi Objek II
Terimakasih dan Semoga Bermanfaat
----***----
Wassalammu’alaikum
warahmatullahi wabarakatuh