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
launch
crée une nouvelle instance de la classeApplication
(HelloWorld
dans ce cas). La classeApplication
donc besoin d'un constructeur no-arg. -
init()
est appelé sur l'instance d'Application
créée. Dans ce cas, l'implémentation par défaut de l'Application
ne fait rien. -
start
est appelé pour l'instanceAppication
et leStage
principal (= 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'
stop
est appelée sur l'instance d'Application
. Dans ce cas, l'implémentation à partir de l'Application
ne 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.