วันจันทร์ที่ 3 มีนาคม พ.ศ. 2557

Java GUI การสร้างระบบล็อกอิน

Java GUI การสร้างระบบล็อกอิน

ตัวอย่างนี้เป็นตัวอย่างโค้ดการสร้างระบบล็อกอิน โดยจะมีการกรอก username กับ password แล้วนำไปเที่ยบกับตัวแปรว่า username กับ password ที่ได้กรอกเข้ามานั้น ถูกต้องหรือไม่

ตัวอย่างโค้ด

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class JavaCodeExam extends JFrame implements ActionListener {

private JFrame frame;
private JPasswordField passwordField;
private JLabel showStatus;
private JTextField textField;
private Map<String, String> userAndPass = new HashMap<String, String>();

public static void main(String[] args) throws Exception {
JavaCodeExam codeExam = new JavaCodeExam();
codeExam.setUserAndPass("admin", "password");
codeExam.setUserAndPass("Test", "Test");
}

public JavaCodeExam() {
this.frame = new JFrame();
this.frame.setVisible(true);

this.frame.setTitle("Frame By Java Code Exam");
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();

JLabel labelUser = new JLabel("Input Username : ");
panel1.add(labelUser);

JLabel labelPass = new JLabel("Input Password : ");
panel2.add(labelPass);

this.textField = new JTextField(10);
panel1.add(this.textField);

this.passwordField = new JPasswordField(10);
panel2.add(this.passwordField);

JButton btn = new JButton("Login");
btn.addActionListener(this);
panel3.add(btn);

this.showStatus = new JLabel("Status : ");
panel4.add(this.showStatus);

panel.add(panel1);
panel.add(panel2);
panel.add(panel3);
panel.add(panel4);

this.frame.add(panel);
this.frame.setSize(400, 200);
}
private void setUserAndPass(String user, String pass){
this.userAndPass.put(user, pass);
}

@Override
public void actionPerformed(ActionEvent e) {
char[] pass = this.passwordField.getPassword();
String passStr = new String(pass);
String userStr = this.textField.getText();
String passTrue = this.userAndPass.get(userStr);
if(passStr.equals(passTrue)){
this.showStatus.setText("Status : Success");
}
else{
this.showStatus.setText("Status : Fail");
}
}
}

ใน method main เราได้เซ็ตค่าให้กับ object โดยการเซ็ต username กับ password 
เราได้สร้าง Panel ไว้ 5 Panel ซึ่งเป็น Panel ใหญ่ 1 อัน และ Panel ย่อยสำหรับแต่ละแถวอีก 4 อัน
Panel อันที่ 1 มีการเซ็ตตัวอักษรสำหรับแสดงกับ Text Field สำหรับไว้กรอก username
Panel อันที่ 2 มีการเซ็ตตัวอักษรสำหรับแสดงกับ Password Field สำหรับไว้กรอก password
Panel อันที่ 3 มีการเซ็ตปุ่มสำหรับกดแล้วให้เช็ค username กับ password
Panel อันที่ 4 มีการเซ็ต Label เพื่อแสดงค่า Status ว่าข้อมูลที่ได้กรอกนั้นถูกต้องหรือไม่

ใน actionPerformed เราได้ทำการ get ค่าจาก username กับ password และได้ทำการเช็คค่าว่าถูกหรือไม่ ถ้าข้อมูลถูกต้องจะแสดงข้อความว่า Status : Success ถ้าข้อมูลที่กรอกเข้ามาผิด จะแสดงข้อความว่า Status : Fail

ผลลัพธ์ที่ได้




yengo หรือ buzzcity

ไม่มีความคิดเห็น :

แสดงความคิดเห็น