Saltar al contenido

JFrame.dispose() frente a System.exit()

Nuestro grupo redactor ha pasado mucho tiempo investigando respuestas a tu búsqueda, te ofrecemos la solución así que nuestro objetivo es servirte de mucha ayuda.

Solución:

System.exit(); hace que la máquina virtual de Java finalice por completo.

JFrame.dispose(); causa la JFrame ventana para ser destruida y limpiada por el sistema operativo. De acuerdo con la documentación, esto puede causar que la VM de Java finalice si no hay otro Windows disponible, pero esto realmente debería verse como un efecto secundario y no como la norma.

El que elija realmente depende de su situación. Si desea terminar todo en la VM Java actual, debe usar System.exit() y todo se limpiará. Si solo desea destruir la ventana actual, con el efecto secundario de que cerrará la VM de Java si esta es la única ventana, entonces use JFrame.dispose().

JFrame.dispose()

public void dispose()

Libera todos los recursos de pantalla nativos utilizados por esta ventana, sus subcomponentes y todos los elementos secundarios de su propiedad. Es decir, los recursos de estos componentes se destruirán, cualquier memoria que consuman se devolverá al sistema operativo y se marcarán como no visualizables. La ventana y sus subcomponentes pueden volver a mostrarse reconstruyendo los recursos nativos con una llamada posterior para empaquetar o mostrar. Los estados de la ventana recreada y sus subcomponentes serán idénticos a los estados de estos objetos en el punto donde se eliminó la ventana (sin tener en cuenta las modificaciones adicionales entre esas acciones).

Nota: Cuando se elimina la última ventana visible dentro de la máquina virtual Java (VM), la VM puede terminar. Consulte Problemas de subprocesamiento de AWT para obtener más información.

Sistema.salir()

public static void exit(int status)

Finaliza la máquina virtual Java actualmente en ejecución. El argumento sirve como código de estado; por convención, un código de estado distinto de cero indica una terminación anormal. Este método llama al método de salida en la clase Runtime. Este método nunca regresa normalmente.

La llamada System.exit(n) es efectivamente equivalente a la llamada:

Runtime.getRuntime().exit(n)

Además de lo anterior, puede utilizar el System.exit() para devolver un código de salida que puede ser muy útil, especialmente si está llamando al proceso automáticamente usando el System.exit(code); esto puede ayudarlo a determinar, por ejemplo, si se produjo un error durante la ejecución.

Si tienes alguna desconfianza y disposición de reaccionar nuestro crónica te sugerimos realizar un exégesis y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *