Как написать логин для Java GUI - PullRequest
0 голосов
/ 20 марта 2019

так что я знаю, что у меня много похожих вопросов, но я не совсем понимаю, что они означают, потому что я не так хорош, когда дело доходит до кодирования.

мой экран входа в 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");
    }

Я хочу войти в систему, используя существующую информацию, которую я сохранил в текстовом файле с именем "employeeelist.txt", и я не уверен, как это сделать.

edit: я изменил имя входа на user.equals и pass.equals, но я все еще не уверен, как войти в систему с помощью чего-либо другого, кроме того, что я объявил.

редактировать:

это содержимое моего текстового файла. второй - имя пользователя, а третий - пароль. Как я буду сканировать этот текстовый файл, чтобы убедиться, что имя пользователя и пароль совпадают?

1, MSmith01, Pass123, Марк Смит, 12 Yellow Lane, L34GF4,07837463

2, JSmith02, Pass456, Джоан Смит, 8 Green Road, L394RQ, 08765456765

3, PSmith03, Pass678, Пол Смит, 9 Orange Street, L435RE, 07485747362

4, WSmith04, Pass910, Уолтер Смит, 8 Green Road, L394RQ, 08765456765

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

6, MSmith06, Pass213, Марк Смит, 32 Red Road, L384GT, 07874636472

7, TMath07, Pass141, Терри Мэтьюз, 4 Peach Street, L219RB, 07564737283

1 Ответ

0 голосов
/ 20 марта 2019

Допустим, у вас есть следующие строки в вашем текстовом файле

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...