Introducción a JavaFx 8

Java FX es una tecnología que nos permite la creación  de interfaces gráficas de usuario enriquecidas con estilos CSS, nos facilita la separación entre diseño y código de programación, es una API desarrollada enteramente en Java, la misma aprovecha el hardware gráfico GPU para aumentar el rendimiento y la calidad de los diseños, además esta diseñada para ejecutarse en diversas plataformas como celulares, tabletas y computadoras de escritorio. 

Necesitamos tener instalado Netbeans 8 o mayor y la versión Java 8 Java Development Kit (JDK), también requerimos JavaFX Scene Builder 2.0, descargamos e instalamos las herramientas.

Agregamos un nuevo proyecto tipo JavaFx en netbeans y seleccionamos en tipo aplicación FXML esto nos permitirá crear una aplicación donde separamos el diseño en un archivo fxml y el código en un archivo java. 

crear javafx aplicacion
Cambiamos el nombre del archivo fxml si lo deseamos , debemos tener en cuenta que el archivo controlador java tendrá el mismo nombre con la terminación Controller.java.

fxml document javafx
Con esto netbeans nos abra creado el proyecto con los archivos TurorJavaFx.java es la clase principal de nuestra aplicación, si ejecutamos veremos una ventana con un botón esta ventana esta definida en el archivo fxml, para ver su contenido y editarlo en Scene Builder hacemos lo siguiente:

netbeans con scene builder
Esta acción abre Scene Builder esta es una herramienta que permite la creación de GUI de manera rápida y eficiente sin tener que escribir una sola línea de código, podemos arrastrar controles y ubicarlos en la posición deseada, editamos las propiedades de cada componente de manera visual.

scene builder javafx
Cuando ejecutamos la aplicación y hacemos clic en el botón veremos el mensaje Hello World, hemos dicho que esta herramienta nos permite crear la GUI pero no escribir código, entonces como podemos programar la interacción de los controles.

Si expandimos Controller podemos ver el archivo java asociado a esta  GUI FX, el mismo contiene el código java necesario para mostrar el mensaje en una etiqueta label.  

javafx controller
Si abrimos FXMLDocumentController.java con netbeans y vemos el código veremos el manejador para la acción del botón, cuando hagamos cambios con el scene builder por ejemplo agregar mas controles o especificar manejadores para los eventos, requerimos actualizar el archivo FXMLDocumentController.java, para mantener sincronizados ambos archivos hacemos esto: en el menú de Netbeans Tool / Options hacemos el siguiente cambio.

netbenas scene builder
Cuando terminemos de editar la GUI en Scene Builder damos al menú File / Save para guardar y para actualizar la clase controladora en Netbenas seleccionamos el menú Source / Make Controller.
Analicemos la clase principal y veamos como funciona

public class TutorJavaFX extends Application {
    
    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
        
        Scene scene = new Scene(root);
        
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }  
}

Vemos el método start el cual es el punto de inicio de la aplicación JavaFx, el método main es el punto de entrada si necesitamos para argumentos desde línea de comandos este llama al método launch de la clase Application con los argumentos y este lanza el método start. La clase Application provee todo lo necesario para inicializar, lanzar, iniciar o detener la ejecución de una aplicación JavaFx.

Este código es el encargado de cargar el archivo fxml crear la ventana y mostrarla en pantalla.


Comentarios

Publicar un comentario

Temas relacionados

Entradas populares de este blog

tkinter Grid

tkinter Canvas

Histogramas OpenCV Python

Python Binance API