popUp method repeats when I repeat the process Twice or More

150 Views Asked by At

the showPopUpPassword work fine when I input incorrect password for the first time, but when i repeat it for the 2nd time or more. it still popUp after the JOptionPane.showMessageDialog(null, "incorrect password");

    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

There are 2 best solutions below

1
Sanira On

Try this,

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);
0
Orville On

for someone may read this Problem.. The problem why the JoptionPane is repeating because the EditProfile Button is inside the MousePressedEvent.

Just Simply take the Button outside the MousePressedEvent.