web-dev-qa-db-de.com

So erhalten Sie JavaFX und Java 11 in IntelliJ IDEA

Mit der letzten Version von Java 11 ist JavaFX nicht mehr im JDK enthalten. Ich habe ein JavaFX-Projekt. Ich bin daran interessiert, wie man es von einem Java 10-Projekt in ein Java 11 ändert. Ich bin sicher, dass ich Java 11 korrekt installiert habe und das Standard-SDK von Java 10 auf Java 11 ändern kann. Was ich nicht kann Ich weiß, wie ich JavaFX mit Java 11 zum Laufen bringen kann.

Ich habe die neueste JavaFX-Version hier heruntergeladen. Ich habe es in meinen Java-Ordner entpackt, der meine anderen JDKs enthält, aber ich weiß zu diesem Zeitpunkt wirklich nicht, was ich tun soll. Ich habe einige ausführliche Handbücher gelesen, in denen beschrieben wird, wie ein Projekt mit Maven oder Gradle verbunden wird, aber ich habe diese noch nie verwendet. Gibt es eine Möglichkeit, JavaFX-Unterstützung in den IntelliJ-Menüs hinzuzufügen?

2
Jack J

Laden Sie das entsprechende JavaFX-SDK für Ihr Betriebssystem herunter und entpacken Sie es an einem gewünschten Ort, beispielsweise nach/Users/Ihr-Benutzer/Downloads/javafx-sdk-11.

  1. Erstellen Sie ein JavaFX-Projekt

 enter image description here

Erstellen eines JavaFX-Projekts Geben Sie dem Projekt einen Namen wie HelloFX und einen Speicherort. Beim Öffnen des Projekts werden die JavaFX-Klassen nicht erkannt.  enter image description here

  1. Stellen Sie JDK 11 ein

Gehen Sie zu Datei -> Projektstruktur -> Projekt und setzen Sie das Projekt-SDK auf 11. Sie können die Sprachebene auch auf 11 setzen. Setzen Sie JDK 11  enter image description here

  1. Erstellen Sie eine Bibliothek

Gehen Sie zu Datei -> Projektstruktur -> Bibliotheken und fügen Sie das JavaFX 11-SDK als Bibliothek zum Projekt hinzu. Zeigen Sie auf den lib-Ordner des JavaFX-SDK.  enter image description here

Sobald die Bibliothek angewendet wurde, werden die JavaFX-Klassen von der IDE erkannt.  enter image description here

Warnung: Wenn Sie das Projekt jetzt ausführen, wird es kompiliert, aber Sie erhalten folgende Fehlermeldung:

Fehler: JavaFX-Laufzeitkomponenten fehlen und sind zur Ausführung von .__ erforderlich. Diese Anwendung

Dieser Fehler wird angezeigt, da das Java 11-Startprogramm überprüft, ob die Hauptklasse javafx.application.Application erweitert. In diesem Fall muss das Modul javafx.graphics im Modulpfad enthalten sein.

  1. Fügen Sie die Optionen VM hinzu

Um das Problem zu lösen, klicken Sie auf Ausführen -> Konfigurationen bearbeiten ... und fügen Sie die folgenden Optionen VM hinzu:

--module-path% PATH_TO_FX% --add-modules = javafx.controls, javafx.fxml

Beachten Sie, dass das von IntelliJ erstellte Standardprojekt FXML verwendet. Daher ist javafx.fxml zusammen mit javafx.controls erforderlich. Wenn Ihr Projekt andere Module verwendet, müssen Sie diese ebenfalls hinzufügen.  enter image description here Klicken Sie auf "Übernehmen" und schließen Sie den Dialog.

  1. Führen Sie das Projekt aus

Klicken Sie auf Ausführen -> Ausführen ..., um das Projekt auszuführen. Nun sollte es funktionieren.

2
liuyez123