Uso this.dispose();
en el método detector acción cuando el nombre de usuario/contraseña tiene éxito. por ejemplo:
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);
}
}
}
Si está usando clases internas para manejar los eventos simplemente reemplazar 'this.Dispose()' con Super_Class_Name.this.dispose();
bien, y ¿qué sucede si mi manejador de clics está en una clase extarnal diferente al marco? – Giancarlo
tiene que pasar una referencia al marco para el controlador de clic (en el constructor) – TofuBeer