► CURSO PRÁCTICO JAVAFX: Ciclo de vida clase Application - Life cycle JAVAFX │【INIT - START - STOP】
Hola amigos lectores y seguidores de Software Galaxia Blogs, en el capítulo de hoy traemos el tercer capítulo de esta serie de tutoriales relacionados a la tecnología de JAVAFX, hoy estudiaremos un tema de suma importancia a la hora de trabajar con JAVAFX y es el ciclo de vida de la clase Application la cual posee tres métodos de suma importancia que estaremos estudiando a profundidad los cuales son: el método init(), el método start() y el método stop(), en el transcurso de este tutorial trataremos de mencionar los puntos más relevantes a la hora de trabajar con los métodos del ciclo de vida de una aplicación desarrollada con JAVAFX.
Quédate con nosotros y aprendamos más sobre esta gran tecnología, en una entrada anterior estuvimos estudiando las clases Stage, Scene y Node igualmente estuvimos estudiando la estructura de JAVAFX, te invito a que vayas y leas esta entrada la cual te será de gran ayuda... ► CURSO PRÁCTICO JAVAFX: Estructura de una Aplicación desarrollada con JavaFX │【STAGE - SCENE - NODE】.
Quédate con nosotros y aprendamos más sobre esta gran tecnología, en una entrada anterior estuvimos estudiando las clases Stage, Scene y Node igualmente estuvimos estudiando la estructura de JAVAFX, te invito a que vayas y leas esta entrada la cual te será de gran ayuda... ► CURSO PRÁCTICO JAVAFX: Estructura de una Aplicación desarrollada con JavaFX │【STAGE - SCENE - NODE】.
Links de código fuente
Ciclo de vida JAVAFX |
Explicación por VideoTutorial:
Creamos un videotutorial especialmente para ti en el cual te brindamos información detallada relacionada al ciclo de vida de la clase Application en JAVAFX.
Explicación por Foto-Tutorial:
Iniciamos explicando los conceptos claves del ciclo de vida de una aplicación JAVAFX y posteriormente estaremos realizando un ejemplo práctico para afianzar los conceptos aprendidos.
Debemos tener en cuenta que el punto de entrada de toda aplicación desarrollada con JAVAFX es la clase Application, por lo tanto la clase principal de nuestro proyecto siempre debe heredar de la clase clase Application, esta clase posee los métodos del ciclo de vida que serán detallados en el siguiente punto.
Entendemos por ciclo de vida a las fases o etapas que tomará nuestra aplicación al momento de ser ejecutada, todo software que nosotros desarrollemos independientemente de la tecnología siempre tendrá un orden cronológico el cual siempre tendrá un punto inicial y un punto final.
import javafx.application.Application;
public class CicloVidaJavafx extends Application { //Content }
public class CicloVidaJavafx extends Application { //Content }
Como podemos apreciar en el código anterior creamos una clase la cual tiene por nombre ciclo-vida-javafx y heredamos de la clase Application haciendo uso de la palabra clave extends.
2. Ciclo de vida clase Application - Métodos.
Los métodos que controlan el ciclo de vida de la clase Application son:
1- Método init().
2- Método start().
3- Método stop().
Método Init: El método init () es llamado justo después de crear una instancia de la clase Application, esto quiere decir que el método init será lanzado justo después de ser ejecutado el método constructor y puede usarse para inicializaciones específicas de la aplicación; sin embargo, las operaciones de la GUI o Interfaz Gráfica, como la creación de escenarios(Stage) o escenas(Scene), no se pueden realizar desde este método, debido a que en el momento de lanzar este método el hilo encargado de manejar la GUI aún no está lista para ser ejecutada, Algunos ejemplos de usos del método init puede ser para realizar validaciones con la base de datos o cargar una configuración inicial de nuestro programa.
Es importante resaltar que, aunque el método init no lo hayamos creado en nuestra clase, al momento de la ejecución de nuestro programa se creará una instancia vacía de este método, todo este proceso se hace de manera interna por lo tanto no es obligatoria la creación de este método, solo será necesario si requerimos la utilización de este.
Método Start: Es llamado después de ser creado el hilo que gestiona la interfaz gráfica de usuario de la aplicación, este método nos proporciona un primer escenario (Stage) la cual hace referencia a la ventana principal, en este método se creará todo lo referente a la interfaz gráfica tales como: escenarios(Stage), escenas(Scene) y los nodos(Nodes). Es importante resaltar que en este método se cargaran todos los componentes de nuestra aplicación como por ejemplo: Controladores, Lógica de nuestra aplicación.
Método Stop: Cuando la aplicación está a punto de finalizar (por ejemplo, cuando el usuario a oprimido el boton cerrar de la aplicación), JavaFX llama al método stop () de la clase Application. En este, se pueden realizar las tareas de limpieza apropiadas para la aplicación.
A Continuación desarrollaremos un ejercicio bastante sencillo para entender el funcionamiento interno del ciclo de vida de la clase Application lo realizaremos paso a paso.
Paso # 1:
Lo primero que debemos hacer es crear un nuevo proyecto, para esto seleccionamos el icono seleccionado en la imagen el cual generará un cuadro de diálogo.
Creamos un nuevo proyecto JAVAFX |
Lo segundo que haremos será seleccionar la opción JavaFX > JavaFX Application luego oprimimos el botón next(siguiente).
Seleccionamos el tipo de proyecto |
Lo tercer paso será asignar un nombre a nuestro proyecto el cual será ciclo-vida-javafx, luego de realizar este proceso oprimimos el botón finish o finalizar.
4. Ejemplo Práctico - Clase generada.
Una vez creado nuestro proyecto, se genera una clase la cual inicialmente tenemos el método start(), en el cual inicializamos nuestra interfaz gráfica de ejemplo, si trabajas con NetBeans al momento de crear un proyecto con JAVAFX este trae consigo esta pequeña interfaz, la cual tiene nuestra primera ventana(Stage), una escena(Scene) y un Nodo el cual es un botón(Button) este accionará un evento cuando sea presionado.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
public class CicloVidaJavafx extends Application {
@Override
public void start(Stage primaryStage){
Button btn = new Button();
btn.setText("Say 'Hello World' ");
btn.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
5. Ejemplo Práctico - Creación método init().
Creamos el método init en el cual pasamos un mensaje por consola con el fin de ilustrar el orden en que serán mostrados dichos mensajes, igualmente creamos el método constructor de la clase en el cual agregamos un mensaje de consola, recordemos que primero se ejecutará el método constructor y después será ejecutado el método init.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
public class CicloVidaJavafx extends Application {
public CicloVidaJavafx(){
System.out.println("method constructor()");
}
@Override
public void init(){
System.out.println("method init()");
}
@Override
public void start(Stage primaryStage){...}
public static void main(String[] args) {
launch(args);
}
}
6. Ejemplo Práctico - Creación método start().
La siguiente fase de ejecución es la correspondiente al método start, como bien sabemos aquí inicializamos los componentes de nuestra interfaz gráfica y en general toda la lógica de nuestra aplicación, para efectos de nuestro ejemplo pasamos un mensaje por consola.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
public class CicloVidaJavafx extends Application {
public CicloVidaJavafx(){
System.out.println("method constructor()");
}
@Override
public void init(){
System.out.println("method init()");
}
@Override
public void start(Stage primaryStage){
...
System.out.println("method start()");
}
public static void main(String[] args) {
launch(args);
}
}
El ultimo metodo referente al ciclo de vida de la clase Application es el método stop, el cual se ejecutará cuando los procesos de la aplicación estén por finalizar, un caso en concreto sería cuando el usuario oprima el botón cerrar, internamente se hará una llamada a este método(stop) y se ejecutarán las líneas de código que deseamos, generalmente utilizamos este método para cerrar tareas en específico como por ejemplo destruir o cerrar todas las conexiones con la base de datos, para cerrar una aplicación en JAVAFX se recomienda utilizar el método Platform.exit(), perteneciente al paquete javafx.application.Platform.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
public class CicloVidaJavafx extends Application {
public CicloVidaJavafx(){
System.out.println("method constructor()");
}
@Override
public void init(){
System.out.println("method init()");
}
@Override
public void start(Stage primaryStage){
...
System.out.println("method start()");
}
@Override
public void stop(){
System.out.println("method stop()");
}
public static void main(String[] args) {
launch(args);
}
}
8. Ejemplo Práctico - método launch().
En el método main tenemos el método launch el cual nos permite lanzar nuestra aplicación JAVAFX, este método no debe llamarse más de una vez de lo contrario generará una excepción, este método de manera interna es el que se encarga de ejecutar y poner en marcha nuestras aplicaciones de JAVAFX.
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
public class CicloVidaJavafx extends Application {
public CicloVidaJavafx(){...}
@Override
public void init(){...}
@Override
public void start(Stage primaryStage){...}
@Override
public void stop(){...}
public static void main(String[] args) {
launch(args);
}
}
Con esto hemos concluido con el desarrollo del capítulo de hoy, la finalidad de esta entrada era conocer los métodos más relevantes referentes al ciclo de vida de la clase Application, es importante resaltar que para tener una mejor comprensión de esta temática es recomendable leer la documentación oficial por lo tanto voy a dejarte el link de la misma para que vayas y visites el sitio oficial Documentación JAVAFX.
Suscribete
si deseas aprender más sobre esta tecnología y Java en general oprime el botón de suscripción para estar atento a todo nuestro contenido.
¡Suscribete!
Si tienes alguna otra forma de implementar esta ejemplo no dudes en compartirla, y así poder compartir opiniones sobre el tema.
¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips de JAVA que hemos estado publicando en este blog, dando clic aquí.
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.
Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...
No hay comentarios.