#CómoSeHace – JavaFX, Scene Builder y NetBeans ¡Hola Mundo!

¡Que hay Humanos!. Hoy veremos como crear nuestro Hola Mundo con JavaFX, Scene Builder y NetBeans, pero para empezar veremos que es JavaFX y Scene Builder.

JavaFX es una plataforma para la creación de aplicaciones Rich Internet Applications(RIAs) que puede correr en gran variedad de dispositivos, te permite crear aplicaciones de escritorio, para celulares, la web, para la televisión, consola de videojuegos, reproductores Blu-ray, entre otras. Esta tiene muchas ventajas como:

  • Permite que los usuario puedan ver la aplicación en el navegador o si lo prefieren puedan arrastrarla a su escritorio.
  • Permite una mejor separación entre el trabajo de desarrollo de interfaz gráfica y proceso interno.
  • Permite el uso de todas las librerías java en una aplicación FX.
  • Permite que los desarrolladores puedan usar gráficos vectoriales y  animaciones.

La aplicación Scene Builder permite diseñar, mediante un interfaz gráfico, las estructuras de las ventanas de las aplicaciones que queramos desarrollar usando JavaFX.

Para instalar JavaFX ejecutar en el terminal

sudo apt-get install openjfx

Configurar en NetBeans la localización de Scene Builder.

Con el fin de que cuando se abra un archivo FXML desde NetBeans se muestre directamente con la herramienta Scene Buider, se debe indicar en la configuración de NetBeans en qué carpeta se encuentra Scene Buider.

Para instalar Scene Buider, descargar desde aquí SceneBuilder (80 descargas) y ejecutar

dpkg -i javafx_scenebuilder-2_0-linux-x64.deb

y el NetBeans que esta en UCISTORE ya que este tiene el módulo para JavaFX.

Scene Builder se instala por defecto en la carpeta /opt/JavaFXSceneBuilder2.0

Puedes acceder a las opciones de configuración de NetBeans en el menú Tools > Options. Ahí accede a la sección Java y la pestaña JavaFX:

Creación de un proyecto JavaFX.

Utiliza el asistente de creación de proyectos de NetBeans para crear un proyecto de tipo JavaFX > JavaFX FXML Application, que crear automáticamente la estructura básicas de una aplicación JavaFX con un archivo FXML básico para la estructura de la pantalla.

Al hacer doble clic sobre el archivo FXML que se crea, o bien seleccionando la opción Open de su menú contextual, verás que se abre automáticamente la aplicación Scene Builder con ese documento abierto.

Ejecutar la aplicación.

Como cualquier otra aplicación Java, al pulsar el botón Run de NetBeans, podrás ver en ejecución la aplicación tal como se encuentre desarrollada hasta ese momento. Al hacerlo sobre el proyecto recién creado podrás ver una ventana con un botón “Click Me!” que al pulsarlo muestra debajo el mensaje “Hello World!“.

Estructura del código fuente del proyecto.

  • FXMLDocument.fxml
  • FXMLDocumentController.java
  • JavaFXApplication1.java

Esta es la manera en la que están relacionados entre ellos:

La clase java JavaFXApplication1 es la principal en este proyecto, y será la que inicia la ejecución de la aplicación. Dentro de su código fuente se puede observar que se encarga de cargar la estructura de la ventana contenida en el archivo FXMLDocument.fxml, a su vez el archivo FXMLDocument.fxml hace referencia en su código a la clase Java FXMLDocumentController que va a hacer las funciones de controlador, gestionando las acciones que realice el usuario sobre los elementos de la ventana.

 

Y esto es todo HumanOS para más información les dejo un minituto tutorial-javafx-primeros-pasos.pdf.tar.7z (103 descargas) .

12 comentarios » Puedes dejar tu comentario también

  1. 00

    Andy Torres

    dijo:

    Chromium 49.0.2623.108 Ubuntu x64

    ¿Pueden poner el enlace de descarga del SceneBuilder disponible para los que estamos fuera de la UCI? ACtualmente apunta a https://codecomunidades.prod.uci.cu/aaherrera/share-fx/raw/master/javafx_scenebuilder-2_0-linux-x64.deb
    Saludos

  2. 00

    Jorge Medina

    dijo:

    Google Chrome 56.0.2924.87 Windows 7 x64 Edition

    Hola, y disculpen la molestia, pero podrian decirme que pasa que no puedo acceder a GUTL? Gracias

  3. 00

    neok

    dijo:

    Firefox 47.0 Ubuntu

    No tendrán la version del Scene Builder para sistemas de 32 bit …
    saludos y gracias por el aporte muy bueno

  4. 00

    Lemux

    dijo:

    Google Chrome 52.0.2743.116 GNU/Linux x64

    Hace rato que vengo escuchando sobre JavaFX pero no he visto productos “serios” que se hayan decantado por esa nueva propuesta del ecosistema Java. Alguien sabe algo al respecto?

  5. 00

    Cesar

    dijo:

    Google Chrome 56.0.2924.87 Windows 10 x64 Edition

    Bueno Lemux pues le cuento que hay bastante productos “serios” que utilizan JavaFX. Uno de ellos es Focusky una alternativa para Power Point y que crea presentaciones muy buenas en un canvas. Además, algo que no se habla mucho y que la mayoría de las personas desconocen es que JavaFX no está especialmente diseñado para escritorio. De hecho JavaFX puede correr interfaces gráficas en dispositivos móviles, web, etc. Por supuesto, cuando uno es novato experimenta en el escritorio pero no es su principal propósito. JavaFX incluye cosas muy interesantes ya que utiliza el modelo por 3 capas en Java, donde la interfaz gráfica se construye prácticamente sin código nativo solamente utilizando css y fxml(“donde van los componentes”). Yo aprendí JavaFX hace 1 año, y les puedo decir que es muy bueno, sin embargo la curva de aprendizaje es bastante grande y todavía no hay mucha documentación online al respecto. Yo les recomiendo que utilicen C# con Foundation o Xamarin. El Java definitivamente no es para el escritorio, el que diga lo contrario es de los que les gusta pasar trabajo. Si lo usan en la web, que para eso es la caña, utilicen frameworks como Play (ni Vaadin, ni Java Enterprise Edition). Un poco de sabiduría colectiva para que no pierdan su tiempo 🙂

  6. 00

    Yadiel Pérez Villazón

    dijo:

    Firefox 50.0 Ubuntu x64

    Hola colegas, JavaFX es una maravillosa tecnología para hacer aplicaciones de escritorio muy vistosas, yo personalmente llevo más de 5 meses trabajando y haciendo cositas con esa tecnología, lo último que hice fue una aplicación JavaFX + Spring Boot (sin usar spring-boot-starter-web), esto me ayudó mucho para usar las bondades de spring-boot para bases de datos embebidas como hsqldb, realmente es muy fácil lograr una aplicación a tu antojo e integrarlo con css con las propiedades -fx-xxxx-xxxx, existe también bootstrap3.css personalidado para usarlo (el que lo desee me puede escribir), los que utilizan IntelliJ para desarrollar la misma se integra perfectamente con JavaFXSceneBuilder, en fin, los convoco a utilizarlo …

  7. 00

    Yadiel Pérez Villazón

    dijo:

    Firefox 50.0 Ubuntu x64

    Con respecto a la estuctura yo recomendo utilizar la siguiente estructura
    nombre_proyecto
    | _ main
    | _ java
    | _ ui
    | _ FMXL1Controller.java
    | _ FMXL1Controller.java
    | _ entitys
    | _
    | _ repository
    | _
    | _ service
    | _
    | _ ApplicationStart.java
    | _ resources
    | _ css
    | _ images
    | _ fxml
    | _ fxml1.fxml
    | _ fxml2.fxml
    | _ application.properties
    | _ pom.xml

    Con eso pienso que te queda un proyecto organizado, aunque realmente esta tarea es a consideración de los desarrolladores …

  8. 00

    trabajo

    dijo:

    Firefox 50.0 Ubuntu x64

    @Yadiel Pérez Villazón
    Me interesaría ver lo que has logrado con spring-boot y javafx

  9. 00

    krlos

    dijo:

    Firefox 50.0 Ubuntu x64

    @Lemux
    El problema de JavaFX es que esta obsoleto, así de sencillo.

  10. 00

    Yadiel Pérez Villazón

    dijo:

    Firefox 51.0 Ubuntu x64

    @trabajo
    Te puedo enviar un ejemplo que baje de internet hace algún tiempo, por ahí empecé a trabajar, las cosas que he echo fueron a partir de ahí, escribeme ypvillazon@uci.cu.

    @Lemux
    Pienso que no está obsoleta de echo Oracle le hizo mejoras para la versión 8, además si deseas hacer una aplicación de escritorio como si estuvieras haciendo una aplicación web y que sea multiplataforma creo que es la mejor propuesta, No es para hacer grandes cosas pero aplicaciones sencillas es muy útil, yo personalmente he logrado hacer diseños con boostrap3 personalidado para las properties de javafx y efectos como si estuviera en la web, se que en las tendencias actuales no se realizan muchas cosas de escritorio pero como dije en un comentario anterior si deseas hacer algo vistoso lo pueden usar.

  11. 00

    Lemux

    dijo:

    Google Chrome 30.0.0.0 Android 4.4.2

    @Cesar
    Oh por eso mismo lancé la pregunta, para que alguien con experiencia en el campo me iluminara. Agradecido con su comentario.

  12. 00

    xero

    dijo:

    Firefox 29.0 Windows 8 x64 Edition

    …y para windows?

Deja un comentario

Tu dirección de correo electrónico nunca será compartida.