Метод popUp повторяется, когда я повторяю процесс дважды или более
showPopUpPassword отлично работает, когда я ввожу неверный пароль в первый раз, но когда я повторяю его во второй раз или более. он все еще всплывает после JOptionPane.showMessageDialog(ноль, "неверный пароль");
table.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3)
{
popup.show(table, e.getX(), e.getY());
EditProfile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int row = table.getSelectedRow();
String name = (String) table.getModel().getValueAt(row, 0);
if (!namelist.contains(name)) {
String pass = ctr.getNamebyPassword(name, password); // get password on database
password = showPopUpPassword(); // get the user input password
if(!pass.equals(password)) {
JOptionPane.showMessageDialog(null, "incorrect password");
}else if (pass.equals(password)){
edit = new editProfileFrame(ctr.getData(name), ctr.getAccount(name));
namelist.add(name);
}
}else {
JOptionPane.showConfirmDialog(null, "Cannot Duplicate Profile Window");
}
}
});
}
}
});
2 ответа
Попробуй это,
while(true){
password = showPopUpPassword();
if(!pass.equals(password))
JOptionPane.showMessageDialog(null, "incorrect password");
else
break;
}
edit = new editProfileFrame(ctr.getData(name), ctr.getAccount(name));
namelist.add(name);
Кто -то может прочитать эту проблему. Проблема, почему JoptionPane повторяется, потому что кнопка EditProfile находится внутри MousePressedEvent.
Просто возьмите кнопку за пределами MousePressedEvent.