javafx Tutoriel
Démarrer avec javafx
Recherche…
Remarques
JavaFX est une plate-forme logicielle permettant de créer et de fournir des applications de bureau, ainsi que des applications Internet riches (RIA) pouvant fonctionner sur une grande variété de périphériques. JavaFX est destiné à remplacer Swing en tant que bibliothèque graphique standard pour Java SE.
Le service informatique permet aux développeurs de concevoir, créer, tester, déboguer et déployer des applications client enrichi.
L'apparence des applications JavaFX peut être personnalisée à l'aide de feuilles de style CSS (Cascading Style Sheets) pour le style (voir JavaFX: CSS ) et (F) Les fichiers XML peuvent être utilisés pour créer ou développer une application (voir FXML et Contrôleurs ). . Scene Builder est un éditeur visuel permettant la création de fichiers fxml pour une interface utilisateur sans écrire de code.
Versions
| Version | Date de sortie |
|---|---|
| JavaFX 2 | 2011-10-10 |
| JavaFX 8 | 2014-03-18 |
Installation ou configuration
Les API JavaFX sont disponibles en tant que fonctionnalité entièrement intégrée à l'environnement d'exécution Java (JRE) et au kit de développement Java (JDK). Le JDK étant disponible pour toutes les principales plates-formes de bureau (Windows, Mac OS X et Linux), les applications JavaFX compilées pour JDK 7 et versions ultérieures s'exécutent également sur toutes les principales plates-formes de bureau. La prise en charge des plates-formes ARM est également disponible avec JavaFX 8. JDK for ARM inclut les composants base, graphics et controls de JavaFX.
Pour installer JavaFX, installez la version choisie de l'environnement Java Runtime et du kit de développement Java .
Les fonctionnalités offertes par JavaFX incluent:
- API Java.
- FXML et Scene Builder.
- WebView
- Interopérabilité Swing.
- Contrôles d'interface utilisateur et CSS intégrés.
- Thème Modène.
- Caractéristiques graphiques 3D.
- API de toile.
- API d'impression.
- Prise en charge de texte enrichi.
- Prise en charge multitouch
- Support Hi-DPI.
- Pipeline graphique accéléré par le matériel.
- Moteur multimédia haute performance.
- Modèle de déploiement d'application autonome.
Programme Hello World
Le code suivant crée une interface utilisateur simple contenant un seul Button qui imprime une String à la console en cliquant.
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 classe d' Application est le point d'entrée de chaque application JavaFX. Une seule Application peut être lancée et ceci en utilisant
Application.launch(HelloWorld.class, args);
Cela crée une instance de la classe Application passée en paramètre et démarre la plate-forme JavaFX.
Ce qui suit est important pour le programmeur ici:
- Le premier
launchcrée une nouvelle instance de la classeApplication(HelloWorlddans ce cas). La classeApplicationdonc besoin d'un constructeur no-arg. -
init()est appelé sur l'instance d'Applicationcréée. Dans ce cas, l'implémentation par défaut de l'Applicationne fait rien. -
startest appelé pour l'instanceAppicationet leStageprincipal (= window) est transmis à la méthode. Cette méthode est appelée automatiquement sur le thread d'application JavaFX (thread thread). - L'application s'exécute jusqu'à ce que la plateforme détermine qu'il est temps d'arrêter. Cela se fait lorsque la dernière fenêtre est fermée dans ce cas.
- La méthode d'
stopest appelée sur l'instance d'Application. Dans ce cas, l'implémentation à partir de l'Applicationne fait rien. Cette méthode est appelée automatiquement sur le thread d'application JavaFX (thread thread).
Dans la méthode de start , le graphe de scène est construit. Dans ce cas, il contient 2 Node : un Button et un StackPane .
Le Button représente un bouton dans l'interface utilisateur et le StackPane est un conteneur pour le Button qui détermine son emplacement.
Une Scene est créée pour afficher ces Node . Enfin, la Scene est ajoutée à la Stage qui est la fenêtre qui montre l’intégralité de l’interface utilisateur.