Jumat, 29 Oktober 2010

tugas java 2 - modul 3


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
Source code


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 :
·         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.

























 

Tidak ada komentar:

Posting Komentar