所以我知道我有很多类似的问题,但是我不太理解它们的含义,因为在编码方面我并不那么出色。
我在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,Yellow Lane 12,L34GF4,07837463
2,JSmith02,Pass456,Joan Smith,Green Road 8,L394RQ,08765456765
3,PSmith03,Pass678,Paul Smith,Orange Street 9,L435RE,07485747362
4,WSmith04,Pass910,Walter Smith,Green Road 8,L394RQ,08765456765
5,CSmith05,Pass149,Callum Smith,Yellow Lane 12,L34GF4,07485848373
6,MSmith06,Pass213,Mark Smith,Red Road 32,L384GT,07874636472
7,TMath07,Pass141,Terry Matthews,4 Peach Street,L219RB,07564737283
答案 0 :(得分:-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
}