Java und JavaFX 13 läuft endlich

Diskutiere Java und JavaFX 13 läuft endlich im AWT, Swing, JavaFX & SWT Bereich.
M

MiMa

Lange habe ich gebraucht und es war echt ein Geduldsspiel Java 13 mit JavaFX 13 bei mir ans laufen zu bringen.
Oft war es die fehlende Kenntnis und zu oft die fehlerhafte Vermittlung in Kursen und auch bei Videoplattformen.

Ich machte Abstecher zu Gradle und Maven, was mich noch zusätzlich überforderte und es dann sein lies.
Das wird bestimmt später noch kommen, aber erstmal möchte ich einfach nur eine Oberfläche Programmieren.

GUI Code indem JavaFX Befehlen benutzt wurde, funktionierte oft einwandfrei nur als ich dann mit FXML arbeiten wollte
war die Fehlersuche groß und hat mich oft in den Wahnsinn getrieben.

Bekanntlich lernt man aus den Fehlersuche und mittlerweile funktioniert es und habe jetzt ein Paar Fragen zum Aufbau von FXML Oberflächen.
Ich benutze eine BorderPane mit den 5 Bereichen.

1. insert TOP
Hier möchte ich das Menü und eine Toolbar unterbringen. Die Toolbar soll Ein -und Ausschaltbar sein.
Ich habe festgestellt, das Entweder nur ein Menü oder nur eine Toolbar Platz findet.
Aktuell habe ich in diesem Bereich eine VBox erstellt und dort das Menü und die Toolbar untergebracht.
Wird das so gemacht?

2. Sprache
In der Regel Programmiere ich nur für meinen eigenen Bedarf und um Programmieren zu lernen. Beim Erstellen wird alles in Englisch dargestellt.
Sollte man schon beim Design der GUI die Englischen Beschriftungen lassen und gleich eine Übersetzungsdatei einbinden um in Deutsch um zu schalten.
Aktuell habe ich alles in Deutsch deklariert, würde aber gerne wissen wie sonst so gemacht wird?

3. insert BOTTOM
Möchte ich gerne eine Statusleiste darstellen, konnte aber im Scene Builder keine StatusBar finden. Wie wird das denn gemacht?

Danke
Mi
 
L

lam_tr

Hallo Mima,

Wenn du ein Toolbar; Menu und Statusleiste haben willst, gibt es im SceneBuilder doch schon eine fertiges Template oder?

E.g. File -> New Templates -> Complex Application

Ansonsten hätte ich BorderPane benutzt womit du alles schön aufteilen kannst. Hier so kann die UI im Baum aufgeteilt werden
BorderPane
* TOP: VBox
* Top Menu
* Toolbar
* Center: MainPane
* Bottom : Statusline

Und bezüglich Sprache gibt es I18n im SceneBuilder womit du die Properties laden kannst.

Ja und zu deinem ersten Punkt, ich finde es auch morz gefriemel bis man eine JavFX13 Anwendung zum laufen zu bekommen. Aber nach den Experten sollte es einfacher sein, wenn man daran gewohnt ist.

Ich mache immer noch JavaFX 8 da ich zu faul bin, das Ganze Konfigurationszeug einstellen zu müssen.
 
M

MiMa

Danke für Deine Antwort
ich bin echt zwiespalten was die neuen Java Versionen angeht.
Jetzt habe ich es endlich hinbekommen, das ich mit openJdk und openfx in der Version 13 GUIs mit FXML machen kann aber so richtig toll ist es nicht. Erstmal ist das ein gehuddel in der Konfiguration und mit Netbeans kann man nicht mehr so arbeiten wie in der Version 1.8 von Oracle.
Es arbeitet sich wie auf einer riesigen Baustelle.

Jetzt gehts mit der GUI aber jetzt suche ich wieder nach Fehler und muss Probleme Lösen die ich in 1.8 nicht hatte und muss bereits gelöste Probleme wieder lösen. Echt nicht schön.

Jetzt gibt es Probleme mit Read Objekt.
Erst prüfe ich ob die Datei auf der HD existiert die gelesen werden soll und bei erfolgreicher Prüfung scheint das Objekt nicht gelesen werden zu können?
Code:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
C:\Users\Michael\AppData\Local\NetBeans\Cache\11.3\executor-snippets\run.xml:111: The following error occurred while executing this line:
C:\Users\Michael\AppData\Local\NetBeans\Cache\11.3\executor-snippets\run.xml:94: Java returned: 1
BUILD FAILED (total time: 0 seconds)
11: mir sagt "call-java" nichts
94: <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" jvm="${platform.java}">

Habe mir schon überlegt zu C# zu wechseln?
Da ich aber später auch auch eine Android App Programmieren möchte wäre Java sinvoll!
Habe mir auch überlegt bei Java 1.8 zu bleiben, aber was passiert wenn ich mein Programm mal veröffentlichen möchte, gibt es Probleme mit Oracle?

Die Zukunft von Java macht mir echt Bauchschmerzen, wenn ich so mal zurückdenke was ich so alles erlebt habe und wie viel Zeit ich durch das Try und Error verloren habe.
 
M

MiMa

Oben aufgeführte Probleme gelöst, und weitere folgen ??? :(
Der Code stammt aus der Java 8 Version, die ohne Probleme läuft.
Hier mal ein Ausschnitt der Fehlermeldung
Code:
java.lang.ClassNotFoundException: Modelle.Einstellungen
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[?:?]
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:416) ~[?:?]
    at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:727) ~[?:?]
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1941) ~[?:?]
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1827) ~[?:?]
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2115) ~[?:?]
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1646) ~[?:?]
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:464) ~[?:?]
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422) ~[?:?]
    at Bauplaene.Einstellungen.leseEinstellungenHD(Einstellungen.java:205) ~[classes/:?]
    at Kontroller.HauptfensterKON.initialize(HauptfensterKON.java:63) ~[classes/:?]
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2573) ~[javafx.fxml.jar:?]
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466) ~[javafx.fxml.jar:?]
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435) ~[javafx.fxml.jar:?]
    at Start.Start.hauptFenster(Start.java:40) ~[classes/:?]
    at Start.Start.start(Start.java:87) ~[classes/:?]
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) ~[javafx.graphics.jar:?]
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) ~[javafx.graphics.jar:?]
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx.graphics.jar:?]
    at java.security.AccessController.doPrivileged(AccessController.java:391) ~[?:?]
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx.graphics.jar:?]
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ~[javafx.graphics.jar:?]
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[javafx.graphics.jar:?]
    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[javafx.graphics.jar:?]
    at java.lang.Thread.run(Thread.java:830) [?:?]
Ich glaub ich geh zurück zu Java 8, und Netbeans 9 das hat echt keinen Sinn mehr :mad:
 
M

MiMa

Ob Java nach dem ON/OFF Prinzip arbeitet?
Jetzt funktioniert mein Code auf JavaFX8 und JavaFX13 ohne Fehlermeldungen???
 
Thema: 

Java und JavaFX 13 läuft endlich

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben