Ravi de vous rencontrer. Cet article est le cinquième jour du Calendrier de l'avent ITRC 2019. Cette fois, je voudrais afficher "Hello, JavaFX" comme Hello World dans JavaFX.
HelloJavaFX Maintenant, affichons HelloJavaFX.
Téléchargez JavaFX à n'importe quel endroit depuis ici. Cette fois, j'ai téléchargé la version 11.0.2.
Eclipse 1 Ensuite, ouvrez Eclipse et depuis la barre de menu Sélectionnez Aide »Eclipse Marketplace. Lorsque vous entrez "e (fx) clipse" dans l'espace de recherche, il apparaîtra, alors installez-le.
Ensuite, créez un nouveau projet pour JavaFX. Cette fois créée avec HelloJavaFX. Créez ensuite un nouveau package. Si vous ne créez pas de package et n'utilisez pas le package par défaut, ce sera difficile plus tard. Cette fois créée avec hellojavafx. (J'ai entendu dire que l'utilisation du package par défaut n'est pas si bon en premier lieu) Nous créerons module-info.java plus tard, mais nous ne le créerons pas pour l'instant.
Ensuite, décompressez le JavaFX que vous avez téléchargé précédemment. Si vous le développez, vous en trouverez deux, legal
et lib
.
(Il semble qu'il y ait aussi bin
dans Windows, mais il n'y avait pas de Linux)
Revenez sur Eclipse et faites un clic droit sur le projet que vous avez créé
Chemin de construction → Sélectionnez la configuration du chemin de construction
Sélectionnez la bibliothèque, sélectionnez le chemin du module et sélectionnez Ajouter un JAR externe sur la droite.
Si vous allez à la lib
dans le JavaFX que vous venez de décompresser, vous trouverez 9 fichiers, donc sélectionnez uniquement le fichier .jar
et appuyez sur Ouvrir.
Maintenant qu'il est ajouté, appliquez-le et fermez-le. Je pense que la "bibliothèque de référence" a été ajoutée au projet et contient le fichier .jar
que vous venez d'ajouter.
Ensuite, nous écrirons le code. Cette fois créée avec HelloFX.java.
package hellojavafx;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class HelloFX extends Application {
@Override
public void start(Stage stage) {
Label label = new Label("Hello, JavaFX");
label.setFont(new Font(50));
stage.setScene(new Scene(new StackPane(label), 500, 400));
stage.show();
}
public static void main(String[] args) {
launch();
}
}
Créer une étiquette
Label label = new Label("Hello, JavaFX");
Spécification de la police
label.setFont(new Font(50));
Définir la scène dans la scène, afficher le volet dans la scène (étiquette), spécifier la taille de la fenêtre (largeur, hauteur)
stage.setScene(new Scene(new StackPane(label), 500, 400));
Afficher la fenêtre
stage.show();
Lancer l'application
launch();
Eclipse 2 Il n'y a pas d'erreur particulière dans le code source, mais lorsque j'essaye de l'exécuter, une erreur s'affiche sur la console et rien ne peut être fait.
Erreur:Classe principale bonjourjavafx.Impossible de détecter et de charger HelloFX
Cause: java.lang.NoClassDefFoundError: javafx/application/Application
Maintenant, créez module-info.java que vous n'avez pas créé lors de la création du projet. Faites un clic droit sur le projet Sélectionnez Configuration → Créer module-info.java Le nom du module peut être n'importe quoi, mais le rendre identique au nom du projet affiché par défaut. Quand il est créé, je pense que le contenu est déjà écrit.
module HelloJavaFX {
exports hellojavafx;
requires javafx.base;
requires javafx.controls;
requires javafx.graphics;
}
ʻExportest la version du package.
requires` est le chargement du module.
La raison pour laquelle je ne l'ai pas créé lors de la création d'un nouveau projet Java est qu'il est plus facile de le créer à ce moment car il n'y a rien à l'intérieur lorsqu'il est créé en premier.
Lançons-le maintenant.
Cette fois, j'ai pu bien le faire.
En passant, lorsque j'ai essayé d'utiliser JavaFX avec une personne utilisant MAC, le phénomène selon lequel l'icône était affichée mais que la fenêtre n'était pas affichée s'est produit. Après enquête, lors de son utilisation avec MAC, il a été résolu en décochant la case "XstartOnFirstThread" dans l'argument de la configuration d'exécution. Reportez-vous à ici
Cette fois, c'était comme Hello World. Si j'en ai envie, j'écrirai quelque chose après Hello World.
Recommended Posts