Hallo Java-Forum.
ich habe mich hier entschieden, eine kleine Anleitung von JAVAFX14 zu dokumentieren.
Angefangen habe ich mal mit Swing, wollte dann diese Anwendung nach FX portieren und habe dabei meine Erfahrungen gemacht.
1. Zuerst mal meine Gedanken zu FX:
- Swing-Applikationen sollen vorteilhaft für FX völlig neu konzipiert werden.
- ab JAVA10 muss FX separat installiert werden (war für mich eine rechte Herausforderung).
- ab JAVA10 gibt's keine Runtime-Umgebung mehr, also keine JRE nur noch JDK (ergibt 80 MB JAVA-Installation für Benutzer).
- grosser Lernaufwand, grösser als bei Swing.
- vielfältige Gestaltungsmöglichkeiten für Grafik-Interface der Applikation mit CSS und FXML.
- FX-Dokumentation oft mangelhaft.
- keiner weiss wohin die Reise geht nachdem sich ORACLE bei FX weitgehend verabschiedet hat.
2. Die Installation.
Ich benutze NETBEANS (zur Zeit Vers, 11.3) unter WIN10. JAVA ist JDK14 mit FX14 und jfxtras10 (darüber später).
Beim Umsteigen von JAVA10 auf JAVA14 hatte ich meine grossen Probleme, FX ist nicht mehr in JAVA integrieret.
Deshalb hier mein Vorgehen:
- Download JAVA14: vorteilhaft bei https://jdk.java.net/java-se-ri/14
- Download JAVAFX: https://gluonhq.com/products/javafx/ (JavaFX Windows x86 SDK, 14.0.1)
- Download SceneBuilder: https://gluonhq.com/products/scene-builder/ (als FXML-Editor)
- Download JFXtras: in Maven Central https://repo1.maven.org/maven2/org/jfxtras/
jfxtras-all/10.0-r1/jfxtras-all-10.0-r1.jar, jfxtras-common/10.0-r1/jfxtras-common-10.0-r1.jar,
jfxtras-controls/10.0-r1/jfxtras-controls-10.0-r1.jar, jfxtras-fxml/10.0-r1/jfxtras-fxml-10.0-r1.jar,
jfxtras-window/10.0-r1/jfxtras-window-10.0-r1.jar
- installieren JDK14 : Netbeans > Tools > Java Platform > Add Platform
- installieren JavaFX14 : Netbeans > Tools > Libraries > New Library , Eingabe : JavaFX14
anschliessend alle *.jar aus javafx-sdk-14\lib in Library importieren
- installieren jfxtras : Netbeans > Tools > Libraries > New Library , Eingabe : jfxtras10
anschliessend alle *.jar aus jfxtras in Library importieren
- installieren SceneBuilder ist SceneBuilder-11.0.0.msi, installieren gemäss Dialog
3. Java-Applikation erstellen
- Netbeans > New Project > Java with Ant > Java Application : ProjectName MacaubasFX
- Properties > Libraries : JDK14 in JavaPlatform
- Classpath : JavaFX14 (ist Library)
- Modulepath : alle *.jar aus C:\xxxxxxx\JAVA\javafx-sdk-14\lib importieren
- Modulepath : alle jfrxtras jar-Files zufügen
- Properties > Run : unter VM-Options Text einfügen :
--module-path "C:\xxxxxxx\JAVA\javafx-sdk-14\lib" --add-modules javafx.controls,javafx.fxml
(Achtung auf "--", nicht vergessen)
- Netbeans > New File > JavaFX > JavaFX Main Class, Name: zB. MacaubasMain
- Netbeans > Properties > Run > Main Class > Browse : MacaubasMain auswählen.
Achtung : die Main-Klasse hier MacaubasFX darf nicht gelöscht werden
Das JAR-File wird wie folgt gestartet:
MacaubasFX.CMD
SET JAVA_HOME=C:\xxxx\JAVA\jdk-14
SET PATH_TO_FX=C:\xxxx\JAVA\javafx-sdk-14
%JAVA_HOME%\bin\java.exe --module-path %PATH_TO_FX%\lib --add-modules javafx.controls,javafx.fxml -jar MacaubasFX.jar
***************************************************************************
* nun sollte beim starten das Fenser mit "Hello World!" sichtbar werden
***************************************************************************
4. Erstellen der Applikation mit Menue
Ziel:
- erstellen eines Start-Windows, in welchem mehrere Fenster geöffnet werden können. Entspricht etwa der Swing-Funktion InternalFrame.
Dazu benutzen ichdie Bibliothek von jfxtras
- Verwendung von Menues.
- Verwendung von Event-Handler
- Applikation ohne FXML, jedoch Aufruf mehrerer Fenster mit FXML.
*********************************************************************
ich ersetzen in MacaubasMain public void start wie folgt:
(dies werde ich später nachholen)
ich habe mich hier entschieden, eine kleine Anleitung von JAVAFX14 zu dokumentieren.
Angefangen habe ich mal mit Swing, wollte dann diese Anwendung nach FX portieren und habe dabei meine Erfahrungen gemacht.
1. Zuerst mal meine Gedanken zu FX:
- Swing-Applikationen sollen vorteilhaft für FX völlig neu konzipiert werden.
- ab JAVA10 muss FX separat installiert werden (war für mich eine rechte Herausforderung).
- ab JAVA10 gibt's keine Runtime-Umgebung mehr, also keine JRE nur noch JDK (ergibt 80 MB JAVA-Installation für Benutzer).
- grosser Lernaufwand, grösser als bei Swing.
- vielfältige Gestaltungsmöglichkeiten für Grafik-Interface der Applikation mit CSS und FXML.
- FX-Dokumentation oft mangelhaft.
- keiner weiss wohin die Reise geht nachdem sich ORACLE bei FX weitgehend verabschiedet hat.
2. Die Installation.
Ich benutze NETBEANS (zur Zeit Vers, 11.3) unter WIN10. JAVA ist JDK14 mit FX14 und jfxtras10 (darüber später).
Beim Umsteigen von JAVA10 auf JAVA14 hatte ich meine grossen Probleme, FX ist nicht mehr in JAVA integrieret.
Deshalb hier mein Vorgehen:
- Download JAVA14: vorteilhaft bei https://jdk.java.net/java-se-ri/14
- Download JAVAFX: https://gluonhq.com/products/javafx/ (JavaFX Windows x86 SDK, 14.0.1)
- Download SceneBuilder: https://gluonhq.com/products/scene-builder/ (als FXML-Editor)
- Download JFXtras: in Maven Central https://repo1.maven.org/maven2/org/jfxtras/
jfxtras-all/10.0-r1/jfxtras-all-10.0-r1.jar, jfxtras-common/10.0-r1/jfxtras-common-10.0-r1.jar,
jfxtras-controls/10.0-r1/jfxtras-controls-10.0-r1.jar, jfxtras-fxml/10.0-r1/jfxtras-fxml-10.0-r1.jar,
jfxtras-window/10.0-r1/jfxtras-window-10.0-r1.jar
- installieren JDK14 : Netbeans > Tools > Java Platform > Add Platform
- installieren JavaFX14 : Netbeans > Tools > Libraries > New Library , Eingabe : JavaFX14
anschliessend alle *.jar aus javafx-sdk-14\lib in Library importieren
- installieren jfxtras : Netbeans > Tools > Libraries > New Library , Eingabe : jfxtras10
anschliessend alle *.jar aus jfxtras in Library importieren
- installieren SceneBuilder ist SceneBuilder-11.0.0.msi, installieren gemäss Dialog
3. Java-Applikation erstellen
- Netbeans > New Project > Java with Ant > Java Application : ProjectName MacaubasFX
- Properties > Libraries : JDK14 in JavaPlatform
- Classpath : JavaFX14 (ist Library)
- Modulepath : alle *.jar aus C:\xxxxxxx\JAVA\javafx-sdk-14\lib importieren
- Modulepath : alle jfrxtras jar-Files zufügen
- Properties > Run : unter VM-Options Text einfügen :
--module-path "C:\xxxxxxx\JAVA\javafx-sdk-14\lib" --add-modules javafx.controls,javafx.fxml
(Achtung auf "--", nicht vergessen)
- Netbeans > New File > JavaFX > JavaFX Main Class, Name: zB. MacaubasMain
- Netbeans > Properties > Run > Main Class > Browse : MacaubasMain auswählen.
Achtung : die Main-Klasse hier MacaubasFX darf nicht gelöscht werden
Das JAR-File wird wie folgt gestartet:
MacaubasFX.CMD
SET JAVA_HOME=C:\xxxx\JAVA\jdk-14
SET PATH_TO_FX=C:\xxxx\JAVA\javafx-sdk-14
%JAVA_HOME%\bin\java.exe --module-path %PATH_TO_FX%\lib --add-modules javafx.controls,javafx.fxml -jar MacaubasFX.jar
***************************************************************************
* nun sollte beim starten das Fenser mit "Hello World!" sichtbar werden
***************************************************************************
4. Erstellen der Applikation mit Menue
Ziel:
- erstellen eines Start-Windows, in welchem mehrere Fenster geöffnet werden können. Entspricht etwa der Swing-Funktion InternalFrame.
Dazu benutzen ichdie Bibliothek von jfxtras
- Verwendung von Menues.
- Verwendung von Event-Handler
- Applikation ohne FXML, jedoch Aufruf mehrerer Fenster mit FXML.
*********************************************************************
ich ersetzen in MacaubasMain public void start wie folgt:
(dies werde ich später nachholen)