如何为java GUI编写登录

问题描述 投票:0回答:1

所以我知道我有很多类似的问题但是我并不真正理解他们的意思,因为我在编码方面并不是那么好。

我在GUI中的登录界面是这样的:

public void createLoginPanel()
{
    loginPanel.setLayout(null);

    loginLbl.setLocation(425,50);
    loginLbl.setSize(500,50);
    loginLbl.setText("Login");
    loginPanel.add(loginLbl);

    usernameLbl.setLocation(250,300);
    usernameLbl.setSize(250,50);
    usernameLbl.setText("Username: ");
    loginPanel.add(usernameLbl);

    usernameTxt.setLocation(350,300);
    usernameTxt.setSize(250,50);
    usernameTxt.setText("");
    usernameTxt.setColumns(10);
    loginPanel.add(usernameTxt);

    passwordLbl.setLocation(250,400);
    passwordLbl.setSize(250,50);
    passwordLbl.setText("Password: ");
    loginPanel.add(passwordLbl);

    passwordTxt.setLocation(350,400);
    passwordTxt.setSize(250,50);
    passwordTxt.setText("");
    passwordTxt.setColumns(10);
    loginPanel.add(passwordTxt);

    loginBtn.setLocation(675,400);
    loginBtn.setSize(100,50);
    loginBtn.addActionListener(this);
    loginBtn.setText("Login");
    loginPanel.add(loginBtn);



    gotoWelcomeScreenBtn2.setLocation(100,600);
    gotoWelcomeScreenBtn2.setSize(150,50);
    gotoWelcomeScreenBtn2.addActionListener(this);
    gotoWelcomeScreenBtn2.setText("Home");
    loginPanel.add(gotoWelcomeScreenBtn2);

    }

我目前拥有的登录信息是:

   if(e.getSource() == loginBtn)
    {

        String pass;
        String user;
        user = usernameTxt.getText();
        pass = passwordTxt.getText();



        if(user.equals("username") && pass.equals("pass") )
        {
            JOptionPane.showMessageDialog(null,"Login successful");
            allTheGUITabs.setSelectedIndex(7);
        }   
        else
        {
            JOptionPane.showMessageDialog(null,"Please try again.");
        }     

        System.out.println("Login Button pressed");
    }

我想使用存储在名为“employeelist.txt”的文本文件中的现有信息进行登录,我不知道该怎么做。

编辑:我已经将登录更改为user.equals和pass.equals但我仍然不确定如何使用我声明的内容以外的任何其他方式登录。

编辑:

这是我的文本文件的内容。第二个是用户名,第三个是密码。我将如何扫描此文本文件以确保用户名和密码匹配?

1,MSmith01,Pass123,Mark Smith,12 Yellow Lane,L34GF4,07837463

2,JSmith02,Pass456,Joan Smith,8 Green Road,L394RQ,08765456765

3,PSmith03,Pass678,Paul Smith,9 Orange Street,L435RE,07485747362

4,WSmith04,Pass910,Walter Smith,8 Green Road,L394RQ,08765456765

5,CSmith05,Pass149,Callum Smith,12 Yellow Lane,L34GF4,07485848373

6,MSmith06,Pass213,Mark Smith,32 Red Road,L384GT,07874636472

7,TMath07,Pass141,Terry Matthews,4 Peach Street,L219RB,07564737283

java user-interface login
1个回答
-1
投票

假设你的txt文件中有下一个字符串

admin
qwerty12345

使用扫描仪并为您的变量传递值,从txt读取它们

File employeelist;
Scanner scanner;
 String login;
 String password;
 try
 {
   employeelist = new File("employeelist.txt"); // changed code 
   scanner = new Scanner(employeelist); //changed code 
   while(scanner.hasNextLine())
   {
     login = scanner.nextLine();
     password = scanner.nextLine();
   }
 }catch(FileNotFoundException e)
 {
   e.printStackTrace();
 }

然后在if语句中使用它。

if(user.equals(login) && pass.equals(password)
{
 // your code here
}
© www.soinside.com 2019 - 2024. All rights reserved.