JavaFX: build desktop GUIs in Java

Windows, buttons, forms and events with JavaFX. With a live preview and the equivalent Java code generated on the fly.

JavaFX es la forma moderna de hacer aplicaciones de escritorio con ventana en Java (el sucesor de Swing). La estructura siempre es la misma: un Stage (la ventana) contiene una Scene (el contenido), que contiene un árbol de nodos (los controles y contenedores).

public class HolaFX extends Application {
    @Override
    public void start(Stage stage) {
        Label saludo = new Label("¡Hola, JavaFX!");
        VBox raiz = new VBox(10, saludo);
        stage.setScene(new Scene(raiz, 300, 200));
        stage.setTitle("Mi primera app");
        stage.show();
    }
    public static void main(String[] args) { launch(args); }
}

UI builder

Añade controles a la ventana y mira cómo cambia la vista previa y el código Java.

Events

Un control reacciona a acciones del usuario con un manejador, casi siempre una lambda.

Button boton = new Button("Púlsame");
Label contador = new Label("Clics: 0");
int[] n = {0};
boton.setOnAction(e -> contador.setText("Clics: " + (++n[0])));

Property binding

JavaFX permite «atar» propiedades: cuando una cambia, la otra se actualiza sola. En el constructor de arriba, el Slider lleva una etiqueta atada a su valor:

Slider slider = new Slider(0, 100, 50);
Label valor = new Label();
valor.textProperty().bind(slider.valueProperty().asString("Valor: %.0f"));

Check what you've learned