javafxEmpezando con javafx


Observaciones

JavaFX es una plataforma de software para crear y entregar aplicaciones de escritorio, así como aplicaciones de Internet enriquecidas (RIA) que pueden ejecutarse en una amplia variedad de dispositivos. JavaFX está destinado a reemplazar Swing como la biblioteca de GUI estándar para Java SE.

TI permite a los desarrolladores diseñar, crear, probar, depurar e implementar aplicaciones de cliente enriquecidas.

La apariencia de las aplicaciones JavaFX se puede personalizar utilizando Hojas de estilo en cascada (CSS) para el estilo (ver JavaFX: CSS ) y (F) Los archivos XML se pueden usar para estructurar objetos, lo que facilita la creación o el desarrollo de una aplicación (consulte FXML y controladores ) . Scene Builder es un editor visual que permite la creación de archivos fxml para una UI sin escribir código.

Versiones

Versión Fecha de lanzamiento
JavaFX 2 2011-10-10
JavaFX 8 2014-03-18

Programa hola mundo

El siguiente código crea una interfaz de usuario simple que contiene un solo Button que imprime una String en la consola al hacer clic.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {

    @Override
    public void start(Stage primaryStage) {
        // create a button with specified text
        Button button = new Button("Say 'Hello World'");

        // set a handler that is executed when the user activates the button
        // e.g. by clicking it or pressing enter while it's focused
        button.setOnAction(e -> {
           //Open information dialog that says hello
           Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
           alert.showAndWait();
        });

        // the root of the scene shown in the main window
        StackPane root = new StackPane();

        // add button as child of the root
        root.getChildren().add(button);

        // create a scene specifying the root and the size
        Scene scene = new Scene(root, 500, 300);

        // add scene to the stage
        primaryStage.setScene(scene);

        // make the stage visible
        primaryStage.show();
    }

    public static void main(String[] args) {
        // launch the HelloWorld application.

        // Since this method is a member of the HelloWorld class the first
        // parameter is not required
        Application.launch(HelloWorld.class, args);
    }

}
 

La clase de Application es el punto de entrada de cada aplicación JavaFX. Solo se puede iniciar una Application y esto se hace usando

Application.launch(HelloWorld.class, args);
 

Esto crea una instancia de la clase de Application pasada como parámetro e inicia la plataforma JavaFX.

Lo siguiente es importante para el programador aquí:

  1. El primer launch crea una nueva instancia de la clase de Application ( HelloWorld en este caso). La clase de Application , por lo tanto, necesita un constructor sin argumentos.
  2. Se llama a init() en la instancia de la Application creada. En este caso, la implementación predeterminada de la Application no hace nada.
  3. Se llama a start para la instancia de Appication y la Stage primaria (= ventana) se pasa al método. Este método se llama automáticamente en el subproceso de la aplicación JavaFX (subproceso de plataforma).
  4. La aplicación se ejecuta hasta que la plataforma determina que es hora de apagarse. Esto se hace cuando se cierra la última ventana en este caso.
  5. El método de stop se invoca en la instancia de la Application . En este caso la implementación desde la Application no hace nada. Este método se llama automáticamente en el subproceso de la aplicación JavaFX (subproceso de plataforma).

En el método de start se construye el gráfico de escena. En este caso contiene 2 Node s: un Button y un StackPane .

El Button representa un botón en la interfaz de usuario y el StackPane es un contenedor para el Button que determina su ubicación.

Se crea una Scene para mostrar estos Node . Finalmente, la Scene se agrega al Stage que es la ventana que muestra la IU completa.

Instalación o configuración

Las API de JavaFX están disponibles como una función totalmente integrada del Java SE Runtime Environment (JRE) y el Java Development Kit (JDK). Debido a que el JDK está disponible para todas las plataformas de escritorio principales (Windows, Mac OS X y Linux), las aplicaciones JavaFX compiladas para JDK 7 y posteriores también se ejecutan en todas las plataformas de escritorio principales. El soporte para plataformas ARM también se ha hecho disponible con JavaFX 8. JDK para ARM incluye los componentes de base, gráficos y controles de JavaFX.

Para instalar JavaFX, instale la versión elegida del entorno de Java Runtime y el kit de desarrollo de Java .

Las características ofrecidas por JavaFX incluyen:

  1. API de Java.
  2. FXML y Scene Builder.
  3. WebView.
  4. Interoperabilidad del swing.
  5. Controles de UI incorporados y CSS.
  6. Tema de modena
  7. Características de gráficos 3D.
  8. API de lienzo.
  9. API de impresión.
  10. Soporte de texto enriquecido.
  11. Soporte multitáctil.
  12. Soporte Hi-DPI.
  13. Tubería gráfica acelerada por hardware.
  14. Motor multimedia de alto rendimiento.
  15. Modelo de despliegue de aplicaciones autónomas.