Boton para cerrar JDialog

yo
15 de Febrero del 2006
Tengo un botón en un JDialog que quiero que me cierre el JDialog. Si le pongo a ese botón que haga un System.exit(0); lo que hace es que me cierra el programa entero, yo solo quiero que me cierre el JDialog.
Que instrucciones le tengo que dar al boton en cuestión?

NoDo
15 de Febrero del 2006
Hola!
Prueba a poner dentro del método donde pones System.exit(0) esto:
this.dispose();

Creo que con eso simplemente cierras lo que es el JDialog.

Un saludo.

yo
15 de Febrero del 2006
Eso me cierra el JFrame, no el JDialog, pero por lo menos se ha cerrado solo una cosa!!
A ver si puedo encontrar alguna otra cosa.
Gracias de todas formas

NoDo
15 de Febrero del 2006
Hola!
Te cerrará el JFrame si pones this.dispose en la clase principal. Vamos, lo que quería decir es que pusieras this.dispose en el botonSalir que tienes en el JDialog. Si por ejemplo tienes un JDialog, con un menú, o simplemente, un botón aceptar y lo quieres cerrar al pulsarlo, lo que tienes que hacer es poner en el actionPerformed del botón Aceptar this.dispose();

Espero que me hayas entendido, si no pregunta lo que quieras.

Un saludo.

yoOtraVez
15 de Febrero del 2006
mm...Si te digo la verdad estoy un poco perdido. Te explico lo que he hecho. He creado un JDialog con el editor de GUIs de netbeans, he puesto el texto que quería en el y un botón. Esto está en el JFrame en "other componens" según miro en el Inspector. Despues en el frame, en el ActionPerformed del menú, en el que he querido que aparezca, he puesto el jDialog que había creado antes:
jDialog.serSize(250,150);
jDialog.setVisible(true);
despues en el jDialog que tengo en lo de "Other components" que te he dicho antes, en el Boton le he dado al jButton1ActionPerformed (que me salia al pinchar dos veces sobre el jButton)
y he puesto el this.dispose() que me habías dicho, que como resultado me cierra el JFrame.
A lo mejor si que he hecho algo mal, no lo sé.

NoDo
15 de Febrero del 2006
Hola!
Venga, a ver si lo solucionamos. Prueba entonces esto:

try
{
jbInit();
getRootPane().setDefaultButton(botAceptar);
pack();
}

Donde lanzas la ejecución del programa (no en el main), pones getRootPane...tal y tal, y lo que te hace es poner el botón aceptar como botón por defecto.
Pero creo que lo mejor que deberías hacer es el JDialog ese que creaste, ponerlo en otra clase aparte de la principal. jbInit() es el métdo que inicializa los componentes, se podía llamar pericolospalotes(), pero bueno.

A ver si así va, si no ya sabes, sigue preguntando ;-)

Un saludo.

NoDo
15 de Febrero del 2006
Hola otra vez!
Bueno, creo que la solución es esta:

nombreDelJDialog.dispose() donde quieras que se cierre.
Lo de this te lo dije porque yo tengo un proyecto echo con this, pero claro,lo uso en la clase DialogoReserva, que hereda de JDialog. Por ello, si pones this.dispose() y se te cierra la ventana principal es porque estas llamando al Frame principal.

Bueno, espero que ahora vaya.

Venga, un saludo.