Я получил сообщение об ошибке при проверке имени пользователя и пароля в этом Java коде Swing:ошибка в форме входа писала с помощью Java Swing (с файлом базы данных)
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
public class LoginForm extends JFrame implements ActionListener {
private JButton login;
private JTextField name;
private JPasswordField pw;
private LoginForm() {
super("Log in");
login = new JButton("Log in");
name = new JTextField(20);
pw = new JPasswordField(20);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JPanel fields = new JPanel(new BorderLayout());
fields.add(name, "North");
fields.add(new JScrollPane(), "Center");
fields.add(pw, "South");
add(fields, "Center");
add(new JPanel(), "South");
add(new JPanel(), "North");
JPanel j = new JPanel();
j.setSize(100, 400);
j.add(login);
//j.add(new JLabel("|\n|\n|-> Username"));
setSize(600, 400);
add(j, "West");
login.addActionListener(this);
setVisible(true);
}
public static void main(String[] args) {
new LoginForm();
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == login) {
if (!validUser(name.getText(), pw.getPassword())) JOptionPane.showMessageDialog(null, "This user not exists.\nFor create a user,\n edit 'database.lfrm' file."
, "Error!", JOptionPane.ERROR_MESSAGE);
else JOptionPane.showMessageDialog(null, "This user is valid! Congraulations!");
} else throw new RuntimeException("Event source isn't be a " + login.toString());
}
private static boolean validUser(String name, char[] pwd) {
boolean res = false;
try {
BufferedReader br = new BufferedReader(new FileReader("database.lfrm"));
String all = "", lines[], user[], line;
while ((line = br.readLine()) != null) all += line;
lines = all.split("\n");
user = Arrays.asList(lines).get(Arrays.asList(lines).indexOf(name + " $ " + new String(pwd))).split(" $ ");
if (user == new String[]{name, new String(pwd)}) res = true;
} catch (IOException e) {e.printStackTrace();}
return res;
}
}
Я скомпилировал и запустить этот код, и я это "ошибка":
".
Этот пользователь не существует
Для создания пользователя, редактировать 'database.lfrm' файл
"
Мой файл 'database.lfrm' это нравится это:
"
JavaUser $ adimn
"
Спасибо за ответ. Верно. – Muskovets