Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách tạo form đăng nhập (login form) trong Java

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 JPasswordField cho 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.