Usa this.dispose();
nel metodo listener azione quando il nome utente/password riesce. ad esempio:
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()=="button you press to confirm username/password"){
if(userNameTf.getText().equals(username)&&isPassword(passwordTf.getPassword())){
new "window to be opened upon success"
this.dispose(); // calls dispose on this object ie.
// the login window
}
else{
userNameTf.setText("");
passwordTf.setText("");
JOptionPane.showMessageDialog(this,
"Username and/or password is incorrect!",
"Attention!",
JOptionPane.WARNING_MESSAGE);
}
}
}
Se si utilizza le classi interne per gestire gli eventi basta sostituire 'this.Dispose()' con Super_Class_Name.this.dispose();
ok, e cosa succede se il mio gestore di clic è in una classe diversa extarnal al frame? – Giancarlo
devi passare un riferimento al frame al gestore dei clic (nel costruttore) – TofuBeer