Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import javax.swing.event.*;
- import java.util.HashMap;
- public class LoginValidate extends JFrame {
- //db存放用户名和喜闻乐见的明文密码
- private HashMap<String, String> db;
- //GUI各种界面元素
- private JFrame mainFrame;
- private Container mainContentPane;
- private JTextArea resultTextArea;
- private JLabel usernameLabel;
- private JTextField usernameField;
- private JLabel passwordLabel;
- private JPasswordField passwordField;
- private JButton submitButton;
- //构造函数会建立用户数据库和GUI,并显示
- LoginValidate(){
- buildDB();
- buildUI();
- }
- //建立用户数据库
- private void buildDB(){
- //用HashMap存放用户名和密码的键值对
- db = new HashMap<String, String>();
- //添加两个用户做为测试
- db.put("admin", "nimda");
- db.put("user", "password");
- }
- private void buildUI(){
- //主窗口
- mainFrame = new JFrame("Login");
- mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //设置窗口大小
- mainFrame.setPreferredSize(new Dimension(400, 300));
- //使用FlowLayout
- mainContentPane = mainFrame.getContentPane();
- mainContentPane.setLayout(new FlowLayout());
- //显示结果的文本框
- resultTextArea = new JTextArea();
- resultTextArea.setPreferredSize(new Dimension(300, 60));
- resultTextArea.setEditable(false);
- mainContentPane.add(resultTextArea);
- //用户名标签
- usernameLabel = new JLabel("Username:");
- usernameLabel.setPreferredSize(new Dimension(300, 30));
- mainContentPane.add(usernameLabel);
- //输入用户名
- usernameField = new JTextField();
- usernameField.setPreferredSize(new Dimension(300, 30));
- mainContentPane.add(usernameField);
- //密码标签
- passwordLabel = new JLabel("Password:");
- passwordLabel.setPreferredSize(new Dimension(300, 30));
- mainContentPane.add(passwordLabel);
- //输入密码
- passwordField = new JPasswordField();
- passwordField.setPreferredSize(new Dimension(300, 30));
- mainContentPane.add(passwordField);
- //登录按钮
- //点击调用loginAction,loginAction验证登录
- submitButton = new JButton(loginAction);
- submitButton.setPreferredSize(new Dimension(300, 30));
- mainContentPane.add(submitButton);
- mainFrame.pack();
- //显示
- mainFrame.setVisible(true);
- }
- //登录动作
- Action loginAction = new AbstractAction("Login") {
- public void actionPerformed(ActionEvent e) {
- //获得各自输入
- String usernameInput = usernameField.getText();
- String passwordInput = passwordField.getText();
- //在db中查找
- String realPassword = db.get(usernameInput);
- //设置结果的文本框
- String outputString = "Username: " + usernameInput + "\n";
- if (realPassword != null && realPassword.equals(passwordInput)) {
- outputString += "Success";
- } else {
- outputString += "Fail";
- }
- resultTextArea.setText(outputString);
- }
- };
- public static void main(String[] args) {
- LoginValidate app = new LoginValidate();
- }
- }
Add Comment
Please, Sign In to add comment