JavaFX
JavaFX es una plataforma de aplicaciones de cliente de próxima generación de código abierto para sistemas integrados, móviles y de escritorio construidos en Java. Es un esfuerzo de colaboración de muchas personas y empresas con el objetivo de producir un conjunto de herramientas moderno, eficiente y con todas las funciones para desarrollar aplicaciones de clientes enriquecidos.
En este tema nos centraremos en las aplicaciones de escritorio. JavaFX está disponible en Windows, Mac OS X y Linux.
Dado que la biblioteca JavaFX está escrita como una API de Java, el código de la aplicación JavaFX puede hacer referencia a las API de cualquier biblioteca de Java. Por ejemplo, las aplicaciones JavaFX pueden usar bibliotecas API de Java para acceder a las capacidades del sistema nativo y conectarse a aplicaciones de middleware basadas en servidor.
Es en esencia un conjunto de paquetes en Java y el sucesor de swing.
Documentación oficial para JavaFX JDK11
Crear un nuevo proyecto JavaFX
En IntelliJ, seleccionamos File -> New Project

Seleccionamos JavaFX, lo llamamos HolaMundo y le damos a crear. Para ejecutarlo nos ponemos en la clase principal y hacemos click en Run.

Workflow de una aplicación JavaFX
-
ApplicationLa clase deApplicationdel paquete javafx.application es el punto de entrada de la aplicación en JavaFX. Para crear una aplicación JavaFX, se debe heredar esta clase e implementar su método abstractostart(). La clase principal tiene el nombre del proyecto seguido de Application y extiende de la claseApplication, que es la que gestiona el ciclo de vida de una aplicación JavaFX. -
mainmethod Cuando ejecutamos la aplicación JavaFX por primera vez, se lanza el métodomainque contiene el métodolaunchque lanza la aplicación JavaFX y no vuelve hasta que se cierra la aplicación. -
initmethod Cuando un aplicación JavaFX es lanzada, el métodoinitse ejecuta primero. Este método se encuentra en la claseApplicationy está vacío, por lo que podremos sobreescribirlo si queremos hacer algo con él. -
startmethod El métodostartse ejecuta justo después del métodoinit.startes un método abstracto que heredamos de la claseApplicationpor lo que siempre hay que sobreescribirlo y darle cuerpo. -
stopmethod Cuando la aplicación acaba porque los usuario cierran la ventana de la aplicación se ejecuta el métodostop. Igual que pasa con el métodoinit, este método se encuentra en la claseApplicationy está vacío también. Si no lo sobreescribimos no se hará nada con él.
Estructura de una aplicación JavaFX
En general, una aplicación JavaFX tendrá tres componentes principales, Stage, Scene y Node como se muestra en la siguiente figura:
