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.
Versión | Fecha de lanzamiento |
---|---|
JavaFX 2 | 2011-10-10 |
JavaFX 8 | 2014-03-18 |
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í:
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. init()
en la instancia de la Application
creada. En este caso, la implementación predeterminada de la Application
no hace nada. 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). 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.
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: