Freut mich, dich kennenzulernen. Dieser Artikel ist der fünfte Tag von ITRC Adventskalender 2019. Dieses Mal möchte ich "Hello, JavaFX" wie Hello World in JavaFX anzeigen.
HelloJavaFX Lassen Sie uns nun HelloJavaFX anzeigen.
Laden Sie JavaFX von [hier] an einen beliebigen Ort herunter (https://gluonhq.com/products/javafx/). Diesmal habe ich Version 11.0.2 heruntergeladen.
Eclipse 1 Öffnen Sie dann Eclipse und über die Menüleiste Wählen Sie Hilfe »Eclipse Marketplace. Wenn Sie im Suchbereich "e (fx) clipse" eingeben, wird es angezeigt. Installieren Sie es also.
Erstellen Sie als Nächstes ein neues Projekt für JavaFX. Diesmal mit HelloJavaFX erstellt. Dann erstellen Sie ein neues Paket. Wenn Sie kein Paket erstellen und das Standardpaket verwenden, wird es später schwierig. Diesmal erstellt mit hellojavafx. (Ich habe gehört, dass die Verwendung des Standardpakets überhaupt nicht so gut ist) Wir werden module-info.java später erstellen, aber wir werden es vorerst nicht erstellen.
Entpacken Sie als Nächstes das zuvor heruntergeladene JavaFX. Wenn Sie es erweitern, finden Sie zwei, "legal" und "lib". (Es scheint, dass es in Windows auch "bin" gibt, aber es gab kein Linux)
Gehen Sie zurück zu Eclipse und klicken Sie mit der rechten Maustaste auf das von Ihnen erstellte Projekt Erstellungspfad → Wählen Sie Erstellungspfadkonfiguration Wählen Sie die Bibliothek aus, wählen Sie den Modulpfad aus und wählen Sie rechts Externe JAR hinzufügen. Wenn Sie in JavaFX, das Sie gerade entpackt haben, zur "lib" gehen, finden Sie 9 Dateien. Wählen Sie also nur die ".jar" -Datei aus und drücken Sie Öffnen.
Nachdem es hinzugefügt wurde, wenden Sie es an und schließen Sie es. Ich denke, die "Referenzbibliothek" wurde dem Projekt hinzugefügt und enthält die gerade hinzugefügte ".jar" -Datei.
Als nächstes werden wir den Code schreiben. Diesmal erstellt mit 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();
}
}
Etikett erstellen
Label label = new Label("Hello, JavaFX");
Schriftartspezifikation
label.setFont(new Font(50));
Szene in Bühne setzen, Fenster in Szene anzeigen (Beschriftung), Fenstergröße (Breite, Höhe) angeben
stage.setScene(new Scene(new StackPane(label), 500, 400));
Schaufenster
stage.show();
Programm starten
launch();
Eclipse 2 Es gibt keinen bestimmten Fehler im Quellcode, aber wenn ich versuche, ihn auszuführen, wird ein Fehler auf der Konsole angezeigt und es kann nichts unternommen werden.
Error:Hauptklasse hallojavafx.HelloFX konnte nicht erkannt und geladen werden
Ursache: java.lang.NoClassDefFoundError: javafx/application/Application
Erstellen Sie nun module-info.java, die Sie beim Erstellen des Projekts nicht erstellt haben. Klicken Sie mit der rechten Maustaste auf das Projekt Wählen Sie Konfiguration → Modul-info.java erstellen Der Modulname kann beliebig sein, entspricht jedoch dem standardmäßig angezeigten Projektnamen. Wenn es erstellt wird, denke ich, dass der Inhalt bereits geschrieben ist.
module HelloJavaFX {
exports hellojavafx;
requires javafx.base;
requires javafx.controls;
requires javafx.graphics;
}
export
ist die Freigabe des Pakets.
erfordert
ist das Laden des Moduls.
Der Grund, warum ich es beim Erstellen eines neuen Java-Projekts nicht erstellt habe, ist, dass es zu diesem Zeitpunkt einfacher ist, es zu erstellen, da sich beim ersten Erstellen nichts darin befindet.
Lass es uns jetzt laufen lassen.
Diesmal konnte ich es gut machen.
Nebenbei bemerkt, als ich versuchte, JavaFX mit einer Person zu verwenden, die MAC verwendet, trat das Phänomen auf, dass das Symbol angezeigt wurde, das Fenster jedoch nicht angezeigt wurde. Nach der Untersuchung wurde es bei Verwendung mit MAC gelöst, indem das Kontrollkästchen "XstartOnFirstThread" im Argument der Ausführungskonfiguration deaktiviert wurde. Siehe hier
Diesmal war es wie bei Hello World. Wenn ich Lust dazu habe, schreibe ich etwas nach Hello World.
Recommended Posts