popUp方法在我重复该过程两次或多次时重复



showPopUpPassword在我第一次输入错误密码时工作正常,但在我第二次或更多次重复输入时工作正常。它仍然在JOptionPane.showMessageDialog之后弹出(null,"密码不正确");

    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");
                                }

                        }
                    });
                }
        }
    });

试试这个,

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之外按下按钮即可。

相关内容

  • 没有找到相关文章

最新更新