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
ไม่มีความคิดเห็น :
แสดงความคิดเห็น