Berikut adalah tampilan form yang akan kita buat..
Dan ini script javanya, simpan dengan nama "LoginForm.java" ga pake petik :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
public class LoginForm {
public static void main(String[] args) {
final JFrame primer = new JFrame("Login Form");
JLabel lblUname = new JLabel("User Name");
lblUname.setFont(new Font("Verdana",1,12));
JLabel lblPaswd = new JLabel("Password");
lblPaswd.setFont(new Font("Verdana",1,12));
final JTextField TxtUname = new JTextField(20);
final JPasswordField TxtPaswd = new JPasswordField(20);
final JButton btnLogin = new JButton("Login");
final JButton btnExit = new JButton("Exit");
Container skt = primer.getContentPane();
skt.add(lblUname);
skt.add(lblPaswd);
skt.add(TxtUname);
skt.add(TxtPaswd);
skt.add(btnLogin);
skt.add(btnExit);
primer.setSize(250,200);
primer.setVisible(true);
Dimension layar = Toolkit.getDefaultToolkit().getScreenSize();
int L = (layar.width - primer.WIDTH) / 2;
int T = (layar.height - primer.HEIGHT) / 2;
primer.setLocation(L,T);
primer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lblUname.setBounds(10,10,140,20);
TxtUname.setBounds(90,10,130,20);
lblPaswd.setBounds(10,40,140,20);
TxtPaswd.setBounds(90,40,130,20);
btnLogin.setBounds(90,70,65,20);
btnExit.setBounds(160,70,60,20);
btnExit.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e) {
int pesan = JOptionPane.showConfirmDialog(null,"Keluar aplikasi?",
"Peringatan",JOptionPane.YES_NO_OPTION);
if(pesan==0)
System.exit(0);
}
} );
btnLogin.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e) {
String puname = TxtUname.getText();
String ppaswd = TxtPaswd.getText();
if(puname.equals("chayo") && ppaswd.equals("keindahan")) {
JOptionPane.showMessageDialog(null,"Selamat Datang");
mUtama.dUtama();
primer.setVisible(false);
} else {
JOptionPane.showMessageDialog(null,"Password dan User Name Salah");
TxtUname.setText("");
TxtPaswd.setText("");
TxtUname.requestFocus();
}
}
} );
}
}
Membuat form kaya gitu ja meuni panjang kitu, tenang insyaAllah saya jelaskan dengan bahasa manusia versi saya. Mungkin ada bagian yang saya lewat, karena ada ditulisan saya sebelumnya dan sama penjelasannya.
lblUname.setFont(new Font("Verdana",1,12));
Mensetting font dari label lblUname, class Font mempunyai parameter "Verdana" sebagai jenis font, 1 untuk set Bold (0 = normal, 1 = blod, 2 = italic, coba ja pake angka diatasnya), 12 untuk ukuran font-nya.
Container skt = primer.getContentPane();
skt.add(lblUname);
skt.add(lblPaswd);
skt.add(TxtUname);
skt.add(TxtPaswd);
skt.add(btnLogin);
skt.add(btnExit);
Alasannya sederhana kenapa dibuatkan Objek Container skt, ya untuk mempersingkat saja, misal primer.getContentPane().add(lblIname); bisa menggunakan skt sebagai pengganti primer.getContentPane() dan hasinya skt.add(lblUname);. Keduanya sama berfungsi memasukan LblUname ke dalam Frame form.
lblUname.setBounds(10,10,140,20);
TxtUname.setBounds(90,10,130,20);
lblPaswd.setBounds(10,40,140,20);
TxtPaswd.setBounds(90,40,130,20);
btnLogin.setBounds(90,70,65,20);
btnExit.setBounds(160,70,60,20);
Ini dia yang membuat beda dari form pada tulisan sebelumnya, perhatikan angka-angka yang mungkin membuat bingung. Sebagai contoh lblUname.setBounds(10,10,140,20);, menentukan angka-angka ini juga sederhana yaitu dengan perkiraan, hehe. Lihat gambar dibawah :
Ini rumusnya = setBounds(X, Y, L, T )
btnExit.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e) {
int pesan = JOptionPane.showConfirmDialog(null,"Keluar aplikasi?",
"Peringatan",JOptionPane.YES_NO_OPTION);
if(pesan==0)
System.exit(0);
}
} );
Bagian script diatas adalah menjadikan btnExit mempunyai event pada saat diklik, alurnya adalah pada saat diklik munculkan pesan yang menanyakan "Keluar Aplikasi?", jika YES maka variable pesan = 0, jika NO maka bernilai 1. Jika dipilih YES maka keluar dari Program System.exit(0);.
btnLogin.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e) {
String puname = TxtUname.getText();
String ppaswd = TxtPaswd.getText();
if(puname.equals("chayo") && ppaswd.equals("keindahan")) {
JOptionPane.showMessageDialog(null,"Selamat Datang")
} else {
JOptionPane.showMessageDialog(null,"Password dan User Name Salah");
TxtUname.setText("");
TxtPaswd.setText("");
TxtUname.requestFocus();
}
}
} );
btnLogin mempunyai event pada saat diklik, TxtUname.getText() berfungsi untuk mengambil isi dari TextField TxtUname begitu juga dengan TxtPaswd. Lalu diperiksa apakah TxtUname tadi sama dengan kata "chayo" dan TxtPaswd sama dengan "keindahan", jika benar maka Muncul pesan "Selamat Datang", jika kondisi salah maka muncul pesan "Password dan User Name Salah". TxtUname.setText(""); artinya mengosongkan value dari TxtUname. TxtUname.requestFocus(); artinya mengarahkan kursor ke TxtUname.
Jalankan programnya.. Semoga bermanfaat..
Sumber : www.chayo.my-php.net
Tidak ada komentar:
Posting Komentar