Si se trata de un login, puedes hacerle directo con un :
System.exit(0);
En el caso de que no sea precisamente necesario cerrar toda la aplicacion podrias hacer esto:
// Ventana Pricniapal --> VentanaPrincipal
// Ventana Dialog --> Dialogo
// en el evento del boton de la Ventana principal pongo
Dialogo d= new Dialog(this, true); // this hace referencia que le mandas como parametro la ventana principal
d.setVisible(true);
//En la clase Dialogo pongo
private VentanaPrincipal vp;
// Sobreescribo el constructor para que reciba VentanaPrincipal
public Dialogo(VentanaPrincipal vp, boolean modal){
this.vp = vp;
super(vp, modal);
initComponents();
}
///
y en el evento del botón del DIalogo
this.dispose();
vp.setVisible(false);
//////////////////////////
Espero te sirva.
Hola David.
Muchísimas gracias por tú explicación. Me ha sido de gran ayuda.
Un saludo.
Buenas noches a todos.
Os dejo una pregunta seguramente de novato pero no sé como debo hacerlo. Estoy haciendo una aplicación que al iniciar abre un JFrame principal y a su vez un JDialog para introducir el login y contraseña.
Lo que pretendo es que si el usuario pulsa el botón de cancelar en el JDialog se cierre este y el JFrame principal.
El JDialog lo cierro con dispose(), pero no sé como deciral JFrame que se cierre también.
Un saludo y gracias.