RE:como cerrar una ventana JFrame
Hola:
Tienes dos formas de cerrar la ventana sin salir del programa.
La primera es ocultarla. De esta forma queda oculta, pero en memoria, sin destruirse, y puedes volver a mostrarla más adelante tal cual estaba. Para ello tienes que llamar al método setVisible(false); de la ventana que quieres ocultar
La segunda opción es destruirla. De esta forma se libera su memoria y no puedes usarla más. Si la necesitas nuevamente, tendrás que volver a construirla. Esto se consigue llamando al método dispose() y poniendo a null todas las variables que tengas que contengan esa ventana. Por ejemplo
MiVentana v = new MiVentana();
...
v.dispose();
v=null;
Se bueno.