I have a little frame where I ask user & password. This frame will be opened clicking over a button in a main window.
Then I have two buttons: ok and cancel.
You can call setVisible(false) on the frame.
You might also want to call setDefaultCloseOperation on the frame passing in HIDE_ON_CLOSE (info here: http://java.sun.com/javase/6/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation%28int%29). That will prevent the app from going away if they user hits the "X" on the JFrame to close it.
Use this.dispose();
in the action listener method when the username/password succeeds. eg:
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);
}
}
}
If you are using inner classes to handle the events just replace 'this.dispose()' with Super_Class_Name.this.dispose();