Chúng ta có thể phát triển form đăng nhập trong Java dùng công nghệ Java Swing. Ví dụ tạo hai nhãn username và password, hai trường nhập liệu cho người dùng nhập thông tin xác thực và một nút submit. Khi nhập đúng thông tin, hiển thị "Hello admin".
Ví dụ hoàn chỉnh
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoginDemo extends JFrame implements ActionListener {
JPanel panel;
JLabel user_label, password_label, message;
JTextField userName_text;
JPasswordField password_text;
JButton submit, cancel;
LoginDemo() {
// Username Label
user_label = new JLabel();
user_label.setText("User Name :");
userName_text = new JTextField();
// Password Label
password_label = new JLabel();
password_label.setText("Password :");
password_text = new JPasswordField();
// Submit
submit = new JButton("SUBMIT");
panel = new JPanel(new GridLayout(3, 1));
panel.add(user_label);
panel.add(userName_text);
panel.add(password_label);
panel.add(password_text);
message = new JLabel();
panel.add(message);
panel.add(submit);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
submit.addActionListener(this);
add(panel, BorderLayout.CENTER);
setTitle("Please Login Here !");
setSize(450, 350);
setVisible(true);
}
public static void main(String[] args) {
new LoginDemo();
}
@Override
public void actionPerformed(ActionEvent ae) {
String userName = userName_text.getText();
String password = password_text.getText();
if (userName.trim().equals("admin") && password.trim().equals("admin")) {
message.setText(" Hello " + userName + "");
} else {
message.setText(" Invalid user.. ");
}
}
}
Kết quả đầu ra
Cửa sổ "Please Login Here !" với hai ô nhập: User Name, Password (mật khẩu hiển thị dạng dấu chấm). Nút SUBMIT. Nhập "admin"/"admin" → hiển thị "Hello admin". Sai → "Invalid user..".
Cải tiến cho thực tế
- Dùng
JPasswordFieldcho mật khẩu (đã dùng). - Kiểm tra rỗng (validation) trước khi so sánh.
- Không hardcode mật khẩu – nên kiểm tra qua database/service.
- Dùng hash (BCrypt, PBKDF2) cho mật khẩu, không so sánh plaintext.
- Thêm "Remember me", "Forgot password", CAPTCHA.
- Xử lý Enter key để submit.