javafx Tutorial
Empezando con javafx
Buscar..
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 |
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:
- API de Java.
- FXML y Scene Builder.
- WebView.
- Interoperabilidad del swing.
- Controles de UI incorporados y CSS.
- Tema de modena
- Características de gráficos 3D.
- API de lienzo.
- API de impresión.
- Soporte de texto enriquecido.
- Soporte multitáctil.
- Soporte Hi-DPI.
- Tubería gráfica acelerada por hardware.
- Motor multimedia de alto rendimiento.
- Modelo de despliegue de aplicaciones autónomas.
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í:
- El primer
launch
crea una nueva instancia de la clase deApplication
(HelloWorld
en este caso). La clase deApplication
, por lo tanto, necesita un constructor sin argumentos. - Se llama a
init()
en la instancia de laApplication
creada. En este caso, la implementación predeterminada de laApplication
no hace nada. - Se llama a
start
para la instancia deAppication
y laStage
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). - 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.
- El método de
stop
se invoca en la instancia de laApplication
. En este caso la implementación desde laApplication
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.