HelloFX avec JavaFX

introduction

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.

environnement

HelloJavaFX Maintenant, affichons HelloJavaFX.

Téléchargement JavaFX

Téléchargez JavaFX à n'importe quel endroit depuis ici. Cette fois, j'ai téléchargé la version 11.0.2. 2019-12-05-171217_1366x768_scrot.png

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. 2019-12-05-170957_1366x768_scrot.png

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.

2019-12-05-172333_1366x768_scrot.png

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.

2019-12-05-172959_1366x768_scrot.png

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.

Code source

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();
	}
}

Contenu

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.

2019-12-05-184831_1366x768_scrot.png

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

Résumé

Cette fois, c'était comme Hello World. Si j'en ai envie, j'écrirai quelque chose après Hello World.

Recommended Posts

HelloFX avec JavaFX
[Note] Transition de scène avec JavaFX
Caractères de sortie comme une conversation avec JavaFX
Créer un outil de diaporama avec JavaFX
Bonjour tout le monde avec Kotlin et JavaFX
Faites glisser et déposez des fichiers avec JavaFX
Agrandir / réduire et mouvement parallèle avec JavaFX Canvas (Revenge)
Mémorandum JavaFx
Création de JavaFX et d'outils avec un package autonome (distribution)
Écrire des tests pour les applications JavaFX avec TestFX
Création d'outils avec JavaFX et packages autonomes (édition JavaFX)
Outil GUI refactorisé réalisé avec Java8 + JavaFX en 2016
Hello World avec JavaFX 11 (OpenJFX) de Liberica JDK 11
Un simple jeu de ciseaux-papier-pierre avec JavaFX et SceneBuilder