Мне нужно создать приложение для входа / регистрации, которое будет хранить и извлекать информацию о пользователях из файла (.txt).Поэтому я сравниваю имя пользователя и пароль из моего файла с именем пользователя и паролем из моих текстовых полей, и даже если они совпадают, программа все равно не будет соответствовать им.
В какой-то момент это работало, но это было когдаУ меня был только класс Login
.После того, как я закончил класс Register
, он не будет работать, хотя я ничего не изменил в классе Login
.Я также попытался написать текст так же, как в первый раз, но безуспешно.
Login
класс:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
class Login extends JFrame implements ActionListener {
JButton SUBMIT;
JPanel panel;
JLabel label1, label2;
final JTextField text1, text2;
Login() {
label1 = new JLabel();
label1.setText("Username:");
text1 = new JTextField(15);
label2 = new JLabel();
label2.setText("Password:");
text2 = new JPasswordField(15);
SUBMIT = new JButton("SUBMIT");
panel = new JPanel(new GridLayout(3, 1));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(SUBMIT);
add(panel, BorderLayout.CENTER);
SUBMIT.addActionListener(this);
setTitle("LOGIN FORM");
}
public void actionPerformed(ActionEvent ae) {
File loginf = new File("filename.txt");
try {
Scanner read = new Scanner(loginf);
read.useDelimiter("\\n|,");
boolean login = false;
while (read.hasNext()) {
String user = read.next();
String pass = read.next();
String thisuser = text1.getText();
String thispass = text2.getText();
System.out.println(user + " " + pass);
System.out.println(thisuser + " " + thispass);
if (thisuser.equals(user) && thispass.equals(pass)) {
System.out.println("OOOKKKK");
login = true;
break;
}
}
if (login) {
NextPage page = new NextPage();
page.setVisible(true);
JLabel label = new JLabel("Welcome:" + text1.getText());
page.getContentPane().add(label);
setVisible(false);
} else {
JOptionPane.showMessageDialog(null, "Incorrect username or password");
text1.setText("");
text2.setText("");
}
read.close();
} catch (FileNotFoundException qwerty) {
JOptionPane.showMessageDialog(null, "Can't find a text file");
}
}
}
ЧастиRegister
класс, который я использую:
ln95: FileWriter out = null;
ln98: out = new FileWriter("filename.txt", true);
ln149:out.write(username + "," + pass);
ln150:out.write(System.getProperty("line.separator"));
Выход из логина:
student1 Student1
student2 Student2
student2 Student2
student2 Student2
student3 Student3
student2 Student2