Curso Práctico Javafx

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 30

CURSO PRÁCTICO JAVAFX: Introducció

n y Caracter í sticas clave - Hola


mundo con JAVAFX.
07:30 CURSO DE JAVA, CURSO JAVAFX, DESARROLLO DE SOFTWARE, introduccion
a javafx, JAVA, javafx, MVC, PROGRAMACION EN JAVA, tecnologia, TUTORIALES

Hola amigos lectores y seguidores de Software Galaxia Blogs, el día de hoy quiero
presentarles un curso práctico sobre la tecnología JAVAFX, como muchos deben
tener conocimiento esta es una biblioteca muy potente perteneciente a JAVA,
igualmente si no conoces de esta te voy a dejar los links de la documentación oficial
donde podrás aclarar dudas sobre lo qué es JAVAFX.

La dinámica de esta serie de tutoriales prácticos que estaremos subiendo tendrá como
finalidad compartir un poco de mi experiencia trabajando con JAVAFX, en el cual
estaremos realizando ejercicios prácticos con el fin de conocer la estructura del código
a la hora de trabajar con esta tecnología, conocer los componentes y clases más
relevantes, y sobre todo que nuestro Blog sea una fuente de información sobre esta
tecnología, ya que generalmente hay mucha información sobre esta en ingles, pero
poco conocemos de esta en nuestro idioma y claro es indispensable para un
programador entender inglés técnico para poder comprender las líneas de código que
escribimos, pero bueno no esta demás tener nuestras fuentes en español, somos
conscientes que en ocasiones surgen errores al programar y bueno siempre lleva su
trabajo encontrar dicho error, la finalidad de esta serie de tutoriales será esa, poder
compartir y aprender de esos errores que nos dieron dolores de cabeza pero una vez
solucionados puedas compartir dicha experiencia, no siendo más iniciemos con esta
corta entrada que servirá de introducción para tener una idea de lo que es JAVAFX.

Introducción a JAVAFX
Explicación por VideoTutorial:

Creamos un videotutorial especialmente para ti en el cual, te brindamos una


introducción sobre la tecnología JAVAFX y sus características más relevantes,
igualmente al final creamos un proyecto para familiarizarnos con el código JAVAFX.

Explicación por Foto-Tutorial:

Iniciaremos tratando el concepto de JAVAFX lo que es esta tecnología en sí,


expondremos las características que de manera personal fueron muy relevantes para
mi a la hora de elegir esta tecnología y por ultimo realizaremos un ejemplo práctico,
el famoso HOLA MUNDO.

1. ¿QUÉ ES JAVAFX?.

Tomando el concepto general que se encuentra en la documentación de JAVAFX


dice lo siguiente:

JavaFX es un conjunto de paquetes de gráficos y medios que permite a


los desarrolladores diseñar, crear, probar, depurar e implementar
aplicaciones de cliente enriquecidas que operan de manera consistente
en diversas plataformas. fuente

Con JAVAFX tenemos muchas posibilidades y se puede desarrollar


prácticamente cualquier cosa que se nos pueda ocurrir y este es el gran problema de
muchos, en lo personal yo me preguntaba pero ¿Que puedo hacer con esta
tecnología? pero bueno si te has preguntado esto, también lo tenemos a nuestra
disposición en la documentación oficial.

Con JavaFX, puede crear muchos tipos de aplicaciones. Por lo general,


son aplicaciones compatibles con la red que se implementan en
múltiples plataformas y muestran información en una interfaz de
usuario moderna de alto rendimiento que presenta audio, video,
gráficos y animación. fuente
Después de leer estos conceptos lo que podemos concluir es que JAVAFX tiene
muchas posibilidades, y no solo nos brinda soluciones para el desarrollo de
aplicaciones de escritorio, sino en múltiples plataformas como por ejemplo:
Plataformas web y móvil. Nos facilita la vida en cuanto al diseño de interfaces
gráficas de usuario modernas esto lo vamos a ver más adelante cuando estemos
analizando las características principales de esta tecnología.

Desarrollo de aplicaciones con JavaFX

2. ¿CÓMO FUNCIONA?

JAVAFX es una biblioteca de JAVA, por lo tanto para poder ejecutar las
aplicaciones de JAVAFX, debe tener Java Runtime Environment(JRE) y
JAVAFX Runtime instalados en su equipo, es importante resaltar que el JDK 8 trae
consigo todo lo necesario para ejecutar aplicaciones JAVAFX.

Es importante tener claro este punto ya que las aplicaciones desarrolladas con
JAVAFX dependen totalmente del JDK de java para su ejecución, en esta serie
de tutoriales que estaremos realizando desarrollaremos nuestros ejemplos con Java 8
en conjunto con NetBeans 8.2 IDE, por lo tanto no será necesario agregar una
biblioteca adicional a nuestras aplicaciones ya que el JDK trae incorporado esto,
algo muy importante, a partir de la versión 11 de JAVA, las bibliotecas o librerías de
JAVAFX se deben agregar por separado.

3. CARACTERÍSTICAS CLAVE DE JAVAFX.


A continuación enumeraré 6 puntos clave que fueron determinantes a la hora de
aprender esta tecnología, igualmente en la documentación oficial puedes encontrar
muchas características clave de JAVAFX.

 Acceso a la API de JAVA: JavaFX es una biblioteca de Java que consta de clases e
interfaces que están escritas en código Java. Las API están diseñadas para ser una
alternativa amigable a los lenguajes de Java Virtual Machine (Java VM), como JRuby y
Scala, con JAVAFX tendremos acceso a múltiples clases e interfaces.

 FXML Y Scene Builder: FXML es un lenguaje de marcado declarativo basado en XML


para construir una interfaz de usuario de aplicación JavaFX. Un diseñador puede
codificar en FXML o usar JavaFX Scene Builder para diseñar interactivamente la interfaz
gráfica de usuario (GUI). Scene Builder genera un marcado FXML que puede ser portado
a un IDE donde un desarrollador puede agregar la lógica de negocios, en
próximas entradas estaremos viendo el paso a paso de como instalar Scene Builder.

 WebView: Como experiencia personal esta fue una de las razones por las cuales
decidí aprender JAVAFX, en ocasiones necesitaba que mis aplicaciones tuviesen un
módulo de software en el cual pudiese incrustar una página web sin necesidad de que el
cliente tuviese que acceder al navegador y esto lo obtenemos utilizando el componente
WebView el cual me permite incorporar un módulo de página web a nuestra aplicación de
escritor.

 Compatibilidad con JAVA SWING: Esta es una característica de suma importancia de


JAVAFX, ya que me permite incorporar componentes de JAVA SWING a través de un
componente llamado SwingNode, en próximos tutoriales estudiaremos a fondo esta
característica.

 Controles de UI incorporados y CSS: Otra características de suma importancia es la


posibilidad de poder cambiar la apariencia de los componentes con los que trabajamos a
través de hojas de estilo o código CSS, esto nos brindará una potencia enorme a la hora de
crear interfaces de Usuario(UI).

 Aplicación MVC: Las aplicaciones desarrolladas con JAVAFX, son un claro ejemplo del
desarrollo bajo el patrón de diseño modelo vista controlador, ya que estas dividen en el
código de la interfaz gráfica completamente de la parte lógica de nuestra aplicación
aquí juega un papel importante los archivos FXML, cada vez que vean esta extensión
simplemente piensen en interfaz gráfica.
4. JAVAFX VS JAVA SWING.

Comparación JAVAFX y JAVA SWING

En mi experiencia trabajando con JAVA he tenido la oportunidad de trabajar con


estas dos tecnologías, cabe destacar que he trabajado mucho tiempo con swing, me
adentre en el mundo de JAVAFX hace poco tiempo.

De JAVAFX puedo destacar su gran facilidad para desarrollar interfaces gráficas de


usuario modernas de una manera muy sencilla, el poder modificar los componentes
con código CSS simplifica las cosas, sin mencionar que tenemos a disposición
librerías como JFoenix que nos permiten incorporar material Design de google a
nuestras aplicaciones, esto lo enriquece aún más, A continuación mostraré un login
desarrollado con JAVAFX.
LOGIN JAVAFX

De JAVA SWING, esta tecnología y el lenguaje JAVA en sí fue lo primero que


aprendí, fue lo que me enseñaron en la universidad, soy testigo que JAVA SWING es
muy potente y aunque se puede hacer prácticamente lo mismo que con JAVAFX,
cuesta mucho más el tratamiento de componentes, y lograr que una interfaz gráfica se
vea como la imagen anterior, aun así JAVA SWING, tiene una comunidad muy
amplia y con mucha documentación y esto hace que nos fijemos inicialmente en
SWING, de manera personal yo conocí JAVAFX muchísimo tiempo después, A
continuación mostraré un LOGIN desarrollado con JAVA SWING.
LOGIN JAVA SWING

La finalidad de esta comparación no es demeritar ninguna tecnologia sino que


entendamos que existen múltiples posibilidades a la hora de desarrollar una aplicación,
es importante resaltar que se puede desarrollar un LOGIN, mucho más profesional
con SWING que el expuesto en esta imagen, pero igualmente como ya comentamos
llevaría un poco más de tiempo, puedes visitar la entrada donde enseñamos a
desarrollar este LOGIN bajo el patrón de diseño modelo-vista-controlador, ▷
Curso de JAVA: Cómo crear un Login? (Con conexión a base de datos MVC).

5. DESARROLLEMOS NUESTRA PRIMERA APLICACIÓN JAVAFX.

Una vez tratados los temas más relevantes de JAVAFX, vamos a familiarizarnos con
la tecnología, para esto vamos a crear nuestro primer proyecto, es importante resaltar
que si deseas afianzar conocimientos visites la documentación oficial de oracle,
relacionada a JAVAFX.

A- Para crear un nuevo proyecto con JAVAFX, debemos seleccionar el icono


señalado en la imagen, es importante resaltar que estamos trabajando con NetBeans
8.2.
Crear un nuevo proyecto JAVAFX

B- Una vez realizado el proceso anterior, aparecerá un cuadro de diálogo en el cual


debemos seleccionar el tipo de aplicación que vamos a desarrollar, en este caso
seleccionamos la opcion JavaFX > JavaFX Application.

Seleccionamos tipo de aplicación


C- Lo siguiente que debemos hacer es asignar un nombre a nuestro proyecto, el cual
hemos llamado javafx1, por el momento solo debemos tener en cuenta esto, en
próximas entradas veremos más a profundidad la estructura de proyectos JAVAFX.

Estructura proyecto JavaFX.

D- Para finalizar tenemos la clase Javafx1, la cual se genera con una interfaz gráfica
que trae por defecto la aplicación JAVAFX, la cual simplemente es una ventana que
trae consigo un botón el cual al oprimirlo imprimirá un mensaje por consola.
Código fuente JAVAFX
Código fuente JAVAFX

E- Al ejecutar nuestra aplicación JAVAFX esta será la salida de esta.


Con esto hemos concluido con el desarrollo del capítulo de hoy, la finalidad de la
entrada de hoy era hacer una breve introducción de lo que es JAVAFX y poder
conocer un poco como crear una aplicación de este tipo, en próximas entradas
entraremos en materia e iniciaremos explicando la estructura del Código JAVAFX
y realizaremos varios ejercicios que te serán de gran ayuda, así que te invito que estés
atento a las noticias de este blog en el cual podrás conocer y sobre todo aprender un
poco más sobre esta tecnología.

CURSO PRÁCTICO JAVAFX: Estructura de


una Aplicación desarrollada con
JavaFX │【STAGE - SCENE - NODE】
11:43 clase application, CURSO DE JAVA, CURSO JAVAFX, DESARROLLO DE
SOFTWARE, Estructura JavaFX, interfaz grafica, MVC, NODE, PROGRAMACION
EN JAVA, SCENE, STAGE

Hola amigos lectores y seguidores de Software Galaxia Blogs, en el capítulo de hoy


queremos presentarles el segundo capítulo de esta serie de tutoriales relacionados a la
tecnología de JAVAFX, en el capítulo de hoy nos sumergimos más y vamos a estar
estudiando la estructura de una aplicación desarrollada con JAVAFX, estaremos
estudiando puntos importantes tales como: la clase Application, la estructura de una
interfaz gráfica analizando sus componentes más relevantes como los son la clase
Stage, Scene y Node.

Quédate con nosotros y aprendamos más sobre esta gran tecnología, en la cual vamos
analizar los puntos más importantes, en una entrada anterior iniciamos este curso
práctico, si deseas saber más sobre esto te invito a que leas la entrada introductoria
donde estudiamos las características clave de JAVAFX entre otros temas; Curso
práctico JAVAFX: Introducción y características clave - Hola Mundo Con JAVAFX.

Links de código fuente


Explicación por VideoTutorial:

Creamos un videotutorial especialmente para ti en el cual te brindamos información


detallada relacionada a la estructura de una aplicación desarrollada con JAVAFX.

Explicación por Foto-Tutorial:

Iniciaremos explicando el funcionamiento de la clase que hace posible desarrollar


aplicaciones con JAVAFX y esta es la clase Application debemos tener en cuenta
que esta es el punto de partida de toda aplicación desarrollada con esta tecnología,
explicaremos cada componente con un ejemplo práctico.

1. La Clase Application.

La clase Application perteneciente al paquete javafx.application es el punto de


partida de cualquier aplicación desarrollada en JavaFX. Por lo tanto para crear una
aplicación con esta tecnología la clase principal debe heredar esta clase(Application)
e implementar su método abstracto start (), este método es el que permitirá inicializar
la interfaz gráfica.

Esta clase posee tres métodos abstractos de suma importancia los cuales son los
referentes al ciclo de vida de una aplicación JAVAFX, la cual proporciona
los métodos init(), start(), stop(). Estos métodos los estudiaremos a profundidad en
el próximo capítulo, a continuación ilustramos la estructura inicial de una
aplicación desarrollada con JAVAFX.

import javafx.application.Application;
public class EstructuraJavaFX extends Application { //Content }

Como podemos apreciar en el código anterior creamos una clase la cual tiene por
nombre EstructuraJavaFX y heredamos de la clase Application haciendo uso de la
palabra clave extends.

2. Estructura de una Aplicación JAVAFX.

Una aplicación desarrollada con JavaFX está compuesta por tres componentes
esenciales los cuales son:

1- Stage - Escenario.

2- Scene - Escena.

3- Nodes - Nodos.

A continuación ilustramos en un diagrama la estructura de estos tres componentes que


juntos son la esencia de una aplicación desarrollada con JavaFX.

Estructura interfaz gráfica JavaFX


3. Clase Stage.

Esta clase nos provee de varios componentes importantes un Stage o Escenario en sí


es una ventana en la cual agregaremos todos los objetos de nuestra interfaz gráfica
está actuará como contenedor principal, actúa de manera similar a lo que ya
conocemos en Java Swing con la clase JFrame.

El escenario o Stage principal es creada por la plataforma en si. El objeto tipo Stage
es creado y se pasa como argumento al método start () de la clase Application, para
poder visualizar dicha ventana debemos hacer uso del método show(), es importante
resaltar que una aplicación JavaFX puede tener múltiples objetos Stage, esto será
explicado a detalle en la siguiente sección.

Para poder agregar objetos a este contenedor se necesitarán otro tipo de componentes
como los Scene o los Scene Graph que explicaremos a continuación Un ejemplo de
un escenario(Stage) sería el siguiente:

Contenedor principal Stage

4. Clase Scene.

Cuando nos referimos a una escena o Scene, estamos haciendo referencia a los o
contenidos físicos (nodos) de una aplicación JAVAFX, la clase Scene perteneciente
al paquete Javafx.scene proporciona todos los métodos para manejar un objeto de
escena. la creación de una escena al momento del desarrollo de cualquier aplicación
con esta tecnología es necesaria para visualizar los contenidos en el escenario(Stage),
al crear un objeto de tipo Scene, debemos pasar como argumento el nodo raíz el cual
contendrá todos los nodos que se visualizarán en dicha interfaz e igualmente tenemos
la posibilidad de asignar unas dimensiones(ancho y alto) a la escena.

5. Nodos - Gráficos de Escena.

El grupo de gráficos de escena y nodos sería el nivel más bajo del diagrama que
ilustramos en el punto 2. Un gráfico de escena es una estructura de datos la cual actúa
en forma de árbol jerárquico y estos representan el contenido de una escena, por otro
lado un nodo es un objeto visual de un gráfico de escena.

Recapitulando lo dicho en el párrafo anterior un nodo hace referencia a los


componentes que ya conocemos los cuales pueden ser: etiquetas de texto(Labels),
Botones(Buttons), Tablas(Tables), Contenedores(Containers). Un gráfico de
Escena no es más que un conjunto de Nodos divididos en orden jerárquico.

6. Ejercicio Práctico.

A continuación trabajaremos un ejemplo elaborado paso a paso donde aplicaremos los


conceptos vistos.

A- Como vimos en el punto # 1, nuestra clase debe heredar de la clase Application,


Tenemos un método abstracto el cual es start() este me permitirá cargar todos los
componentes u objetos de la interfaz gráfica, este recibe un argumento el cual será un
objeto de tipo Stage.

Para finalizar en el método main tenemos el método launch() el cual de manera


interna se encargará de ejecutar todo lo que tenemos en el método start().

import javafx.application.Application;
import javafx.stage.Stage;
public class EstructuraJavaFX extends Application {

@Override
public void start(Stage primaryStage){

public static void main(String[] args) {


launch(args);
}
}

B- Vamos a trabajar sobre el método start(), creamos un nodo el cual es una


etiqueta de texto perteneciente a la clase Label le pasamos como parámetro una
cadena de texto(HOLA MUNDO).

El siguiente paso será crear nuestro nodo raíz, creamos un objeto de la clase
StackPane y le daremos por nombre root, los objetos de tipo StackPane hacen parte
de los layouts que se manejan en JAVAFX tema que estaremos tratando en
próximas entradas.

Seguido a esto agregamos el objeto de tipo Label al nodo raíz(root), para esto
debemos llamar al método getChildren() el cual devuelve un objeto de tipo
ObservableList, que hacen referencia a los nodos agregados al nodo raíz seguido a
esto llamamos al método add() y agregamos el Label.

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;

public class EstructuraJavaFX extends Application {


@Override
public void start(Stage primaryStage) {
Label label = new Label("HOLA MUNDO");
StackPane root = new StackPane();
root.getChildren().add(label);
}

public static void main(String[] args) {


launch(args);
}
}

C- El siguiente paso será crear un objeto de la clase Scene la cual recibe como
parámetro un objeto de tipo Parent, el cual será el nodo raíz de tipo StackPane(root),
y dos parámetros de tipo double que hacen referencia al ancho y alto de la escena.
Lo siguiente será agregar dicha escena al escenario por lo tanto llamamos objeto
primaryStage y haciendo uso del método setScene() agregamos la escena.

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;

public class EstructuraJavaFX extends Application {


@Override
public void start(Stage primaryStage) {

Label label = new Label("HOLA MUNDO");


StackPane root = new StackPane();
root.getChildren().add(label);
Scene scene = new Scene(root,300, 250) ;
primaryStage.setScene(scene);
}

public static void main(String[] args) {


launch(args);
}
}

D- Lo último que haremos será trabajar sobre el objeto Stage, agregamos un título a
nuestra ventana haciendo uso del método setTitle(), mostramos o hacemos visible la
venta haciendo uso del método show(), es importante llamar a este método ya que si
no lo hacemos al momento de ejecutar nuestro programa simplemente no
visualizamos nuestra interfaz gráfica.

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;

public class EstructuraJavaFX extends Application {


@Override
public void start(Stage primaryStage) {

Label label = new Label("HOLA MUNDO");


StackPane root = new StackPane();
root.getChildren().add(label);
Scene scene = new Scene(root,300, 250) ;
primaryStage.setScene(scene);
primaryStage.setTitle("JavaFX 1");
primaryStage.show();
}

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 componentes esenciales a la hora de trabajar con interfaces
gráficas con JAVAFX y claro conocer la clase Application que es de suma
importancia en el desarrollo de aplicaciones con esta tecnología, espero estes atento a
las próximas noticias que estaremos subiendo y claro seguiremos trabajando muchas
temáticas relacionadas a JAVAFX.
CURSO PRÁCTICO JAVAFX: Ciclo de vida
clase Application - Life cycle
JAVAFX │【INIT - START - NODE】
20:45 ciclo de vida JAVAFX, clase application, CURSO DE JAVA, CURSO JAVAFX,
DESARROLLO DE SOFTWARE, interfaz grafica, MVC, NODE, PROGRAMACION EN JAVA,
SCENE, STAGE
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】.

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.

1. Ciclo de vida de clase Application.

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 }

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.

3. Ejemplo Práctico - Creación de un nuevo proyecto.

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

Paso # 2:

Lo segundo que haremos será seleccionar la opción JavaFX > JavaFX Application
luego oprimimos el botón next(siguiente).
Seleccionamos el tipo de proyecto

Paso # 3:

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); } }

7. Ejemplo Práctico - Creación método stop().

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.

También podría gustarte