Hi liebe Community,
seit ein paar Monaten bringe ich mir das Programmieren in Java bei. Dazu benutze ich Eclipse.
Da ich mir für meine Programme nun auch eine grafische Overfläche basteln möchte, versuche ich JavaFX zu installieren.
Ich benutze das Java SE 14.0.2 unter Windows 10 x64 und die Eclipse IDE 2020-06 (Eclipse IDE for Java Developers).
Prinzipiell sollte ich ja nun in Eclipse über "Help" -> "Install new Software" das JavaFX Paket einbinden können.
Dazu unter "Work with" -> "2020-06 - http://download.eclipse.org/releases/2020-06" auswählen und nach "e(fx)clipse" suchen...
Anschließend sollte nun die Datei auswählbar sein, ist sie bei mir aber nicht!
Bei mir kommt folgendes:
Prinzipiell vielleicht nicht schlimm wenn es halt anders heißt dachte ich mir...
Wenn ich das installiere habe ich aber offensichtlich nicht das richtige Paket installiert, denn ein JavaFXProjekt kann ich damit nicht öffnen:
Mein nächter Gedanke war einfach den Link aus dem ersten Bild manuel hinzuzufügen und die e(fx)clipse IDE von Oxygen zu installieren.
Gefunden habe ich diese auch sofort aber schon bei der installation scheint etwas nicht zu passen, was ja vielleicht auch logisch ist wenn ich eigentlich garnicht eclipse oxygen habe:
naja nichts desto trotz, eclipse wirft das zuvor installierte runter und pakt die javaFX version von oxygen drauf!
Hurra, unter "new Project" ist tatsächlich "JavaFX" auswählbar also erstelle ich ein neues "JavaFX Project".
Das Projekt wird erstellt und ist mit Quelltest gefüllt wie es sein sollte nur meckert der Kompiler von oben bis unten.
Habe ich irgendwelche Bibliotheken vergessen? Ist die e(fx)clipse für oxygen nicht mit eclipse 2020-06 kompatibel?
Habe auch versucht eclipse oxygen runterzuladen und es damit zu versuchen, leider das gleich problem...
Im Videotutorial dazu hat es geklappt ohne zusätzliche Bibliotheken einzubinden, nur mit dem Quelltext den sich eclipse selber zusammenbastelt und auf Ausführen sollte im normalfall ein leeres fenster erscheinen!
Das e(fx)clipse dürfte nur eine Integration von JavaFX (openJFX) in Eclipse sein. Du benötigst aber auch noch das JavaFX selbst und musst dann die Modulpfade bereit stellen.
https://openjfx.io/openjfx-docs/ erläutert die Möglichlkeiten / Optionen sehr gut wie ich meine. Ich selbst würde eigentlich immer dazu raten, den Build über Gradle oder Maven zu machen und sich so einiges an Konfiguration und Installation zu ersparen. Aber das sollte jeder für sich entscheiden.
Für dich wäre der Teil "JavaFX and Eclipse" interessant und wichtig. Es erläutert auch die Installation + Eintragen der Pfade, was ich oben als erstes erwähnt habe.
"JavaFX is included with the standard JDK and JRE bundles "
damit dürfte das JavaFX herunterladen und Pfade eintragen doch eigentlich entfallen und der Zugriff müsste direkt über eclipse gewährleistet sein...
und das ist es ja auch nachdem ich die Adresszeile händisch geändert habe und auf der Seit von oxygen runtergeladen habe...
ich kann nur mit den fehlermeldungen noch nichts anfangen, versuche ich troz fehler das programm auszuführen kommt z.B diese fehlermeldung: Error: Unable to initialize main class application.Main
Caused by: java.lang.NoClassDefFoundError: Stage
Ich weiß nicht, wo du diese Aussage gefunden hast, aber das galt nur bis JDK 8. Und das erklärt auch die Probleme: Da JavaFX nicht installiert ist, kann er die Klassen nicht finden. Stage ist eine JavaFX Klasse und die Fehlermeldung besagt schlicht: Klasse nicht gefunden.
https://openjfx.io/openjfx-docs/ erläutert die Möglichlkeiten / Optionen sehr gut wie ich meine. Ich selbst würde eigentlich immer dazu raten, den Build über Gradle oder Maven zu machen und sich so einiges an Konfiguration und Installation zu ersparen. Aber das sollte jeder für sich entscheiden.
Dieser Link hat mir sehr geholfen, auch wenn ich lange dafür gebraucht habe das es funktioniert. Danke @JustNobody
Noch eine Frage. Wo kann ich den Scene Builder herunterladen? Eine Anleitung habe ich bereits im Internet gefunden, aber der Link führt mich auf die Oracle Seite. Um ihn da herunter zu laden benötige ich jedoch einen Firmen ACC, den ich nicht besitze.
Will aber auch nicht von irgend einer Seite herunterladen.
Overview Gluon develops Java-based solutions. We are laser-focused on realizing the dream of ‘write once, run anywhere’ Java for a new generation of mobile devices. Our Gluon Mobile library can massively improve time-to-market for applications, by providing APIs for modern ‘material design’ user...
Danke für die schnelle Antwort. Das Herunterladen hat Funktioniert und das einbinden auch. Leider kann ich meine Datei aus Eclipse nicht mit den Scene Builder öffnen. Der Fehler der kommt:
scene builder open operation has failed. Make sure that the choose file is a valid FXML document.
Ich habe mich an ein Tutorial von Youtube gehalten, was erklärt wie JavaFx funktioniert.
Habt ihr vielleicht eine Lösung für mein Problem, bzw einen Hinweis wo ich den Fehler gemacht habe?
Wie sieht denn die fxml Datei aus? Wie heißt diese und was ist der Inhalt?
Du kannst ansonsten den Scene Builder auch direkt starten und eine neue Datei erstellen und dann schauen, ob das Speichern / laden generell klappt. Eclipse selbst nutze ich nicht, daher kann ich da zur Einbindung nicht viel sagen...
Das ist das Automatisch generierte von Eclipse. In dem Tutorial öffnet er sie in Eclipse einfach mit Rechtsklick und Open with scene builder.
Dabei öffnet er sich.
Dateien nur mit den Scene Builder speichern und laden funktioniert.
Habe jetzt den Fehler mehr oder weniger gefunden. Habe einfach ein neues FXML in Eclipse erstellt und das alte gelöscht. Nun funktioniert es
Danke Für die Hilfe, ohne @JustNobody wäre ich nicht so weit gekommen
Danke für die schnelle Antwort.
Eigentlich verfolge ich momentan nur ein Tutorial auf Youtube, wo erklärt wied wie FX funktioniert. Ist leider schon etwas älter und in diesen war JavaFX und der SceneBuilder bereits vorhanden. Leider musste ich über einige Umwege das alles erst in Eclipse irgendwie einbinden.
Das hat mich schon einige Zeit und nerven gekostet 😅
Jetzt klappt alles soweit nur beim Ausführen (Run) öffnet sich kein Fenster, aber bei den Tutorial klappt das. Habe jetzt mehrfach nochmal alle Schritte nachvollzogen die in dem Video erklärt wurden und ich habe es identisch, dennoch öffnet sich das Fenster nicht.
Ich vermute es könnte daran liegen das ich den Scene Builder und FX nachträglich erst einfügen musste und das Ausführen nur wie in diesem Artikel beschrieben Funktioniert
3. Fügen Sie VM-Argumente hinzu
Um das Problem zu Run -> Run Configurations... -> Java Applicationbeheben , klicken Sie auf , erstellen Sie eine neue Startkonfiguration für Ihr Projekt mit dem Namen "hellofx" und fügen Sie die folgenden VM-Argumente hinzu:
Es funktioniert. Ich Blödmann. Tausendmal das Video angeschaut und verglichen und jedes mal übersehen. Manchmal sieht man den Wald vor lauter Bäumen nicht 😣
Danke sehr
Ja, das ist leider normal. Gibt das Video nicht auch einen Link zu den Sourcen auf GitHub oder so? Dann ersparst Du Dir das Abtippen und damit auch so Fehler. (Sowas kann immer sehr deprimierend sein und hält einen natürlich lange auf ...)
Das gibt es bestimmt, aber (so doof das auch klingt) Ich möchte abtippen um zu lernen und Fehler machen weil auch daraus (vielleicht sogar am besten daraus) lerne ich es 😅
Ich habe schon ein Haufen Fehler gemacht und die meisten habe ich (wenn auch nach langen suchen und viel Zeit investieren) gefunden und werde sie nicht wiederholen.