TUGAS
PRAKTIKUM JAVA II
MODUL III
EVENT HANDLING
Miko Dewi Hatmanti
123090061
Plug 10
Ass : Shiddieqy Y. Katili
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “V” YOGYAKARTA
2010
TUGAS 1
1. import java.awt.event.*;
2. import javax.swing.*;
3. import java.awt.*;
4. class pButtonAction extends JFrame{
5. public JButton bOK, bCAncel;
6. public JLabel luser, lpass;
7. public JTextField tuser, tpass;
8. String nama_user;
9. String nama_user_pokok = new String ("123090061");
10. String password ;
11. String password_pokok = new String ("java");
12. public pButtonAction(){
13. bOK = new JButton("OK");
14. bCAncel = new JButton("Cancel");
15. luser = new JLabel("User");
16. lpass = new JLabel("Password");
17. tuser = new JTextField(10);
18. tpass = new JPasswordField(10);
19. setDefaultCloseOperation(3);
20. setSize(300, 200);
21. setVisible(true);
22. setTitle("Login");
23. setLayout(new GridLayout(3, 2, 20, 20));
24. add(luser);
25. add(tuser);
26. add(lpass);
27. add(tpass);
28. add(bOK);
29. add(bCAncel);
30. tuser.addKeyListener(new KeyListener() {
31. public void keyPressed(KeyEvent ke) {
if (ke.getKeyChar()==KeyEvent.VK_ENTER){
tpass.requestFocus();
}
}
32. public void keyTyped(KeyEvent ke) {
}
33. public void keyReleased(KeyEvent ke) {
}
});
34. bOK.addActionListener(new ActionListener() {
35. public void actionPerformed(ActionEvent ae) {
nama_user = tuser.getText();
password = tpass.getText();
if(ae.getSource() == bOK){
if(nama_user_pokok.equals(nama_user)&&
password_pokok.equals(password))
{
JOptionPane.showMessageDialog(null, "Login sukses",
"Pesan",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, "Login gagal",
"Pesan",JOptionPane.INFORMATION_MESSAGE);
}
}
}
});
36. bCAncel.addActionListener(new ActionListener() {
37. public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Tombol Cancel di klik",
"Pesan",JOptionPane.INFORMATION_MESSAGE);
tuser.setText(null);
tpass.setText(null);
}
});
}
}
38. public class Login {
39. public static void main(String[] args) {
40. new pButtonAction();
}
}
Output
Pembahasan :
· Baris 1,2 dan 3 : Menyertakan semua class dalam paket java.awt.event untuk menyediakan penanganan event, java.awt dan javax.swing.
· Baris 4 : Mendefinisikan class dengan nama pButtonAction yang merupakan turunan dari class JFrame (ditandai dengan statement extends JFrame) dan mengimplementasi interface ActionListener dan Key Listener. Class JFrame diperlukan untuk membuat window/frame. Dalam aplikasi java Swing, umumnya terdapat satu class yang merupakan turunan dari JFrame.
· Baris 5..11 : Inisialisasi objek komponen – komponen yang akan digunakan untuk mengisi frame.
· Baris 12 : Merupakan sebuah constructor dari class pButtonAction yang nantinya akan akan dijalankan saat objek dari class pButtonAction terbentuk.
· Baris 13..18 : Inisialisasi komponen frame.
· Baris 9..18 : Merupakan inisialisasi objek dari komponen Swing yang akan digunakan dalam program ini. Komponen tersebut adalah button (tombol) sebanyak 2 buah, label sebanyak dua buah dan dua buah text field.
· Baris 19 : Method setDefaultCloseOperation(EXIT_ON_CLOSE) digunakan untuk membersihkan buffer program/aplikasi setelah user menutup aplikasi dengan menekan tombol Close frame.
· Baris 20 : Method setSize() digunakan untuk mengatur ukuran frame. Dalam program ini frame akan berukuran panjang 300 pixel dan lebar 200 pixel.
· Baris 21 : Method setVisible (true) akan menampilkan frame ke layar. Jika method ini tidak digunakan ataupun nilai Boolean-nya false maka frame tidak akan tampil.
· Baris 22 : Method setTitle digunakan untuk mengatur judul frame. Untuk mengatur judul bisa juga menggunakan perintah super() yang artinya akan mengirim parameter ke konstruktor class JFrame.
· Baris 23 : Method setLayout() merupakan perintah pengaturan layout untuk frame. Layout area frame menggunakan metode grid layout dengan membagi area panel menjadi 3 baris dan 2 kolom dengan ukuran yang sama serta spasi kolom dan baris sebesar 20 pixel.
· Baris 24..29 : Perintah add() digunakan untuk meletakkan komponen – komponen pada frame. Pada program ini komponen yang diletakkan adalah semua komponen yang sudah diinisialisasi sebelumnya.
· Baris 30: Komponen text field user diberi event handling agar aksi dari keyboard bisa ditangani.
· Baris 31 : Merupakan method implementasi dari interface KeyListener yang digunakan untuk memberi aksi ketika tombol keyboard ditekan. Jika keyboard yang ditekan adalah ENTER maka secara otomatis kursor edit akan pindah ke text field berikutnya.
· Baris 32 : Merupakan method implementasi dari interface KeyListener yang digunakan untuk memberi aksi ketika tombol keyboard diketikkan, alias ditekan kemudian dilepaskan. Method ini dipanggil jika tombol yang ditekan mempunyai representasi karakter unicode, seperti tombol angka dan tombol huruf. Sedangkan penekanan tombol modifiers seperti ALT, CTRL, ARROW, CAPSLOCK, NUMLOCK, INS dan lainnya tidak akan mengakibatkan method ini dipanggil. Jika keyboard yang ditekan adalah ENTER maka secara otomatis kursor edit akan pindah ke text field berikutnya.
· Baris 33 : Merupakan method implementasi dari interface KeyListener yang digunakan untuk memberi aksi ketika tombol keyboard dilepaskan.
· Baris 34 : Komponen tombol OK diberi event handling agar aksi ketika tombol di-klik bisa ditangani.
· Baris 35 : Merupakan method implementasi dari interface ActionListener yang digunakan untuk memberi aksi tertentu pada tombol yang sudah ditambahkan event handling. Jika user mengisi text field nama user dan password dengan benar dan meng-klik tombol OK maka akan muncul kotak dialog “Login Sukses”, namun jika user memasukkan inputan yang salah maka akan muncul kotak dialog “Login Gagal”.
· Baris 36 : Komponen tombol Cancel diberi event handling agar aksi ketika tombol di-klik bisa ditangani.
· Baris 37 : Jika user meng-klik tombol Cancel maka akan muncul kotak dialog “Tombol Cancel di-klik dan secara otomatis semua text field akan kosong.
· Baris 38 : Mendefinisikan main class dengan nama Login. Main class ini digunakan untuk menjalankan program karena terdapat method main dalam class tersebut.
· Baris 39 : Merupakan method main yang berfungsi memanggil method lain yang kan dijalankan.
· Baris 40 : Perintah untuk menjalankan constructor yang ada di class pButtonAction.
TUGAS 2
1. import java.awt.event.*;
2. import javax.swing.*;
3. public class pMotionListener extends JFrame implements MouseMotionListener{
4. JScrollPane sp;
5. JTextArea ta;
6. String text="";
7. public pMotionListener() {
8. setTitle("Mouse Motion Listener");
9. ta=new JTextArea();
10. sp=new JScrollPane();
11. sp.setViewportView(ta);
12. ta.setFont(new java.awt.Font("Times New Roman", 3, 12));
13. setLayout(null);
14. add(sp);
15. sp.setBounds(500, 10, 280, 450);
16. setSize(500, 200);
17. setVisible(true);
18. setDefaultCloseOperation(3);
19. addMouseMotionListener(this);
}
20. public void mouseDragged(MouseEvent me) {
throw new UnsupportedOperationException("Not supported yet.");
}
21. public void mouseMoved(MouseEvent me) {
try{
text=text+"\nKoordinat x: "+getMousePosition().x+" Koordinat y:
"+getMousePosition().y;
ta.setText(text);
}catch(Exception e){
}
}
22. public static void main(String[] args) {
new pMotionListener();
}
}
Output :
Pembahasan :
· Baris 1 dan 2 : Menyertakan semua class dalam paket java.awt.event untuk menyediakan penanganan event dan javax.swing.
· Baris 3 : Mendefinisikan class dengan nama pMotionListener yang merupakan turunan dari class JFrame (ditandai dengan statement extends JFrame) dan mengimplementasi interface MouseMotionListener. Class JFrame diperlukan untuk membuat window/frame. Dalam aplikasi java Swing, umumnya terdapat satu class yang merupakan turunan dari JFrame.
· Baris 4-6 : Inisialisasi objek komponen – komponen yang akan digunakan untuk mengisi frame.
· Baris 7 : Merupakan sebuah constructor dari class pMotionListener yang nantinya akan akan dijalankan saat objek dari class pMotionListener terbentuk.
· Baris 8 : Method setTitle() digunakan untuk mengatur judul frame. Untuk mengatur judul bisa juga menggunakan perintah super() yang artinya akan mengirim parameter ke konstruktor class JFrame.
· Baris 9-10 : Inisialisasi komponen pada frame.
· Baris 11 : Method untuk mengatur scroll pada text area.
· Baris 12 : Method setFont() digunakan untuk mengatur ukuran dan jenis font yang akan ditampilkan.
· Baris 13 : Method setLayout() merupakan perintah pengaturan layout untuk frame. Layout area frame menggunakan metode null yang berarti frame tersebut tersebut tidak memiliki manajemen layout khusus.
· Baris 14 : Perintah add() digunakan untuk meletakkan komponen – komponen pada frame. Pada program ini komponen yang diletakkan adalah semua komponen yang sudah diinisialisasi sebelumnya.
· Baris 15 : Method setBounds() digunakan untuk mengatur letak komponen secara manual dengan mengisi koordinat x dan y.
· Baris 16 : Method setSize() digunakan untuk mengatur ukuran frame. Dalam program ini frame akan berukuran panjang 500 pixel dan lebar 200 pixel.
· Baris 17 : Method setVisible (true) akan menampilkan frame ke layar. Jika method ini tidak digunakan ataupun nilai Boolean-nya false maka frame tidak akan tampil.
· Baris 18 : Method setDefaultCloseOperation(3) digunakan untuk membersihkan buffer program atau aplikasi setelah user menutup aplikasi dengan menekan tombol Close frame.
· Baris 19 : Frame diberi event handling untuk menangani aksi dari mouse.
· Baris 20 : Merupakan method implementasi dari interface MouseMotionListener yang digunakan untuk memberi aksi ketika mouse didrag.
· Baris 21 : Merupakan method implementasi dari interface MouseMotionListener yang digunakan untuk memberi aksi ketika mouse berpindah. Ketika mouse berpindah posisi maka koordinat x dan y akan dicatat dan disimpan pada text area dengan menggunakan method getMousePosition().
· Baris 22 : Merupakan method main yang berfungsi memanggil method lain yang kan dijalankan. Lalu ada inisialisasi untuk menjalankan constructor yang ada di class pMouseListener.
Tidak ada komentar:
Posting Komentar