Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / JavaFX / Primeros pasos con JavaFX

Primeros pasos con JavaFX

Por jc mouse jueves, enero 14, 2016

¿Qué es javaFX?

JavaFX es una familia de productos y tecnologías de Sun Microsystems, adquirida por Oracle Corporation, para la creación de Rich Internet Applications (RIAs), esto es, aplicaciones web que tienen las características y capacidades de aplicaciones de escritorio, incluyendo aplicaciones multimedia interactivas, aplicaciones para celulares, la web, TV, consolas de videojuegos, reproductores Blu-ray, etc. Para el desarrollo de aplicaciones JavaFX se usa un lenguaje declarativo, tipado llamado JavaFX Script, además puede integrarse código Java en programas JavaFX. [Wikipedia]

Entre las novedades y diferencias con swing podemos citar:

  • Es capaz de hacer uso de hojas de estilo CSS, algo que agradecerás cuando quieras realizar GUI bastante profesionales y en poco tiempo.
  • Multimedia, algo de lo que carece swing y que nunca logro consolidar.
  • El desarrollo es mucho más rápido con Scene Builder y FXML
  • Soporta gráficos 3D
  • Proporciona una clara separación de la interfaz gráfica de usuario de la lógica de la aplicación, MVC (Modelo, Vista y Controlador)
  • Nuevos controles WebView:  Este control te permite embeber páginas HTML en las aplicaciones JavaFX.
  • También encontramos Canvas, Shapes, gráficos estadísticos y nuevos contenedores.

Para comenzar a programar en javaFX debemos preparar nuestro espacio de trabajo, para esto necesitamos de las siguientes herramientas:

Descarga e instala java y netbeans, si ya los tienes, debes actualizarlos, es preferible trabajar con las ultimas versiones. Netbeans ya viene con javaFX por lo que al instalar el IDE estarás instalando esta tecnología. Si vamos al menú Archivo → Proyecto nuevo, podremos ver que ya tenemos la categoría javaFX activada y lista para usar.

ide javafx

¿Qué es JavaFX Scene Builder?

Si bien instalando las dos herramientas más arriba citadas ya estamos en condiciones de escribir programas en javaFX nos veríamos forzados a escribir código puro para los archivos archivos *.fxml (utilizados para definir interfaces, los veremos con más detalle más adelante) . A diferencia de las aplicaciones swing que cuentan con un editor gráfico incorporado en netbeans, para archivos fxml no tiene.

Pero aquí es donde aparece JavaFX Scene Builder, esta es una herramienta visual que permite editar los archivos *.fxml siguiendo el principio del WYSIWYG (Lo que ves es lo que obtienes).

Descarga e instala este editor en tu pc.

builder netbeans

Agregar Scene Builder a Netbeans

Para terminar este post , agregaremos  el editor FX a Netbeans, esto es muy sencillo,  vamos menú HeramientasOpciones → selecciona la opción de JAVA. A continuación seleccionamos la pestaña javaFX, en la opción Scene Builder Home desplegamos el combo y presionamos la opción «browse…» buscamos la carpeta en donde instalamos el editor y seleccionamos, presionamos «Aceptar» para guardar los cambios.

config scene

HOLA MUNDO

Para probar que tenemos todo bien instalado y configurado, crearemos el clásico e infaltable «Hola mundo«.

Vamos a menú Archivo Proyecto Nuevo → seleccionamos la categoría JavaFX y el tipo de proyecto JavaFX FXML Application, presionamos en siguiente, escribimos un nombre para el proyecto «JavaFXHolaMundo» e indicamos un lugar en donde guardar el proyecto, presionamos el botón «Terminar» para crear el proyecto.

hello world

El proyecto que se crea sigue el patrón de diseño MVC (Modelo, Vista y Controlador) donde FXMLDocument.fxml es la vista y FXMLDocumentController.java el controlador.

mvc fx

Ahora que ya tenemos instalado el Scene Builder, para abrir la vista en modo diseño solo debemos hacer doble clic sobre este, o clic derecho → Open. Para agregar cualquier control, solo debemos arrastrarlo hacia la vista. Para que los cambios se vean reflejados en Netbeans, debemos guardar el archivo File → Save

El proyecto que creamos cuenta con un botón y una etiqueta, no necesitamos más en esta ocasión así que cierra el Scene Builder

editor javafx

Para ver el código generado, clic derecho sobre la vista → Edit

FXML: Este es el lenguaje basado en XML que nos permite definir las interfaces en javaFX, si ya programaste en android estarás familiarizado con esta forma de trabajar y si no, no tengas miedo que es muy fácil. También es posible crear vistas mediante código java, pero con fxml es más sencillo.

<?xml version=«1.0» encoding=«UTF-8»?><?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?><AnchorPane id=«AnchorPane» prefHeight=«200» prefWidth=«320» xmlns:fx=«http://javafx.com/fxml/1» fx:controller=«javafxholamundo.FXMLDocumentController»>
<children>
<Button layoutX=«126» layoutY=«90» text=«Click Me!» onAction=«#handleButtonAction» fx:id=«button» />
<Label layoutX=«126» layoutY=«120» minHeight=«16» minWidth=«69» fx:id=«label» />
</children>
</AnchorPane>

En primera linea vemos que el archivo sera codificado usando UTF-8, a continuación vemos los IMPORT y después las etiquetas XML

A medida que avancemos con los post nos familiarizaremos con las etiquetas, por ahora solo nos importa saber que:

  • La etiqueta Button, cuenta con un texto (text=»Click Me!»),  una evento asignado al botón (onAction=»#handleButtonAction»)  y un identificador (fx:id=»button») el cual debe ser único para todo el archivo.
  • La etiqueta Label cuenta también con un identificador único (fx:id=»label»), estos ID son los que nos permiten reconocer los controles en el controlador (Eso no es pleonasmo? :)).

Abre el archivo FXMLDocumentController.java y busca el método handleButtonAction (Método que se ejecuta cuando se presiona el botón) ahí encontraras a la etiqueta label al cual se le asigna un texto, cámbialo por «Hola Mundo»

package javafxholamundo;import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;public class FXMLDocumentController implements Initializable {@FXML
private Label label;

@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println(«You clicked me!»);
label.setText(«Hola Mundo»);
}

@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}

}

Ejecuta el proyecto

hola mundo

Enjoy!!!

Tags

Artículos similares

Crea tu lector de códigos QR

En este post desarrollaremos una aplicación que nos permitirá leer un código QR y capturar la información que contiene y[...]

Codigo de Control en Visual Basic | Impuestos Bolivia

En esta oportunidad dejamos las fuentes del Generador de Código de Control de Impuestos Bolivia (Facturación Virtual), e[...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, e[...]

CUF: Código Único en Kotlin

En este post implementamos en lenguaje Kotlin (lenguaje de programación de tipado estático que corre sobre la máquina vi[...]

Transacciones – Uso de Commit y Rollback

Cuando desarrollamos aplicaciones en java con base de datos debemos tener cuidado en que se cumplan un conjunto de carac[...]

Crea un servicio web REST con PHP y MYSQL

Servicio Web Un servicio web (en inglés, Web Service o Web services) es una tecnología que utiliza un conjunto de protoc[...]