Eclipse Konfiguration und Verwendung für JavaFX-App-Entwicklung
TODO: auch SceneBuilder-Konfig
1. JRE-Konfiguration mit JavaFX
Es gibt mehrere Möglichkeiten, JavaFX in Eclipse zu konfigurieren.
Die hier vorgestellte ist aus jetziger Sicht die funktional beste:
Hinzufügen weiterer Bibliotheken zu JRE-Konfigurationen.
Der Grund für die Wahl dieser Variante ist die anderenfalls fehlende Javadoc-Zugriffsmöglichkeit per Browser direkt aus Eclipse heraus.
Im Prinzip werden dem jeweiligen JRE die JavaFX-Bibliotheken als "System-Library" hinzugefügt. Damit kann auch zu jeder Bibliothek eine separate Javadoc-Dokumentation konfiguriert werden.
Die Konfiguration der nötigen Run-Configuration für das Ausführen der aktuellen App kann über einmalig hier festgelegte "Default VM Arguments" erfolgen und muss nicht separat für jede App erfolgen.
1.1. Konfigurations-Details
1.1.1. Hinzufügen der JavaFX-Bibliotheken
-
Öffnen von Menü Eclipse IDE Installation, Grundkonfiguration, Probe-Projekt.
, dort in der linken Hierarchieliste nach Java / Installed JREs navigieren. Falls dort das gewünschte JRE (üblicherweise das JDK) noch nicht gelistet ist: siehe -
Nun Doppelklick auf das gewünschte JRE. Es öffnet sich der Dialog zur JRE-Konfiguration.
-
Button Add External JARs…, der Datei-Selektor öffnet sich, Navigation zum Verzeichnis
C:\Users\mxrenkin\Java\JavaFX\javafx-sdk-17.0.2\lib
. -
Darin ersten Eintrag wählen (
javafx.base.jar
), Shift gedrückt halten und vorletzten Eintrag (javafx.web.jar
) wählen. Dadurch werden alle dazwischenliegenden Einträge mit-ausgewählt. Nun Öffnen klicken.
Damit ist dieser Schritt erledigt.
1.1.2. Default VM Arguments konfigurieren
Der letzte unvermeidliche Schritt (außer man wählt einen anderen Ansatz) ist das Setzen der Default VM Arguments.
Dazu ist folgender Text in das entsprechende Textfeld zu kopieren (--module-path
anpassen):
--module-path C:\Users\maier\Java\JavaFX\javafx-sdk-17.0.2\lib
--add-modules javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web
Alternativ kann der Zuerst Variable unter Menü Window → Preferences, dort Run/Debug → String Substitution mit Button New … anlegen: Danach |
1.1.3. Was funktioniert bis hierher
Im Prinzip kann nun eine JavaFX-App entwickelt und getestet werden. Es besteht jedoch noch ein massiver Mangel:
Für JavaFX-Elemente (Klassen, Methoden, …) steht nun keine Javadoc-Info zur Verfügung – z.B. werden bei Autocompletion lediglich die verfügbaren Methodensignaturen angezeigt, aber keine Javadoc-Infos dazu. Bei Tooltipps zu JavaFX-Elementen erscheint bloß ein Hinweis, dass weder Sourcen noch Javadoc verfügbar ist.
Um diese wichtige Hilfe zu aktivieren, müssen wir zumindest entweder die JDK-Sourcen oder die Javadoc-Dokumentation konfigurieren (derzeit scheint in Eclipse ein Bug die Anwesenheit der Sourcen für korrekte Hilfe-Anzeige zu erfordern).
Am besten jedoch beides, denn:
-
bei Fehlen der Sourcen ist kein tiefergehendes Debugging in die JavaFX-Sourcen möglich (siehe auch Hinweis oben)
-
bei Fehlen der Javadoc-Doku kann die lokale Javadoc-Doku nicht für genaueres Studium per Klick im Browser geöffnet werden.
Daher sollten die beiden nachfolgenden Konfigurationsschritte getan werden.
1.1.4. JavaFX-Sourcen-Konf. für Autocompletion und Debugging
Dazu nochmals Menü
, dort in der linken Hierarchieliste zu Java / Installed JREs, darin die mit JavaFX erweiterte JRE doppelklicken.-
Eintrag für javafx.base.jar aufklappen
-
Doppelklick auf Source Attachment
-
Radio-Button auf External location
-
Button External File…, Datei
C:\Users\mxrenkin\Java\JavaFX\javafx-sdk-17.0.2\src.zip
auswählen. -
Nun VOR dem Schließen den eingetragenen Pfad ins Clipboard kopieren (wird weitere 6 x benötigt!), dann OK (Hinweis: Pfad verwendet '/' anstelle von Windows '\' !!)
-
Nun ist der Pfad unter
Source Attachment
sichtbar. -
Für alle weiteren
javafx.*.jar
wiederholen, da der Sourcen-Pfad aber für alle gleich ist, kann er direkt ins Path-Feld kopiert werden. -
Abschließen mit Finish und danach Apply and Close
Damit ist alles außer Anzeige der vollständigen Javadoc-Seite im Browser funktionsfähig.
1.1.5. JavaFX-Javadoc-Konf. für Lesen im Browser
Hier kann das Prinzip von tools/tools121_eclipse-inst+grdkonf.adoc#id_jre-javadoc-konf und von oben übernommen werden.
Der zu verwendende Archive path
ist (f. User maier
): C:\Users\maier\Java\JavaFX\openjfx-17.0.2-javadoc.zip
,
der Path within archive
ist: javafx-17.0.2-javadoc
. Validieren nicht vergessen!
Die beiden Copy/Paste Aktivitäten für die restlichen Module können in 2 "Runden" vorgenommen werden.
Bei der 2. Runde (für den Path within archive
) sollte auch die Validierung erfolgen.
1.1.6. SceneBuilder für das Bearbeiten von *.fxml Dateien konfigurieren
Wenn nicht schon getan, SceneBuilder laut tools/tools141_javafx-basics.adoc#id_scenebuilder-install installieren.
Die App ist im Normalfall (f. User maier
) erreichbar als C:\Users\maier\AppData\Local\SceneBuilder\SceneBuilder.exe
.