Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich möchte gerne in Eclipse JavaFX-Programme erstellen. Leider laufen diese aber nicht, da die main()-Methode Fehler auswirft und die Importe nicht funktionieren.
Ansonsten ist auch https://openjfx.io ein sehr guter Startpunkt, der die Möglichkeiten im Detail beschreibt. Also rein aus Eclipse mit separat installiertem SDK oder per Maven oder Gradle mit automatischem Laden der Abhängigkeiten.
entweder du wandelst es in eine MAVEN Projekt um dann gehts ziemlich einfach...für Anfänger kann das schwer sein ..ich hatte es auch damals nicht verstanden
ANSONSTEN wäre eine Zusötzliche Möglichkeit ( ohne Gradle und Maven )
-> Oben auf preferences "User Library" eingeben und eine neue Library erstellen -> mit external Jars -> da gehst du auf dein Entizpptes Javafx ordner
-> dann lib Ordner da wählst du dann alle JARS aus und fügst sie hinzu
-> neues Java Projekt erstellen
-> package application erstellen und eine Main Klasse rein schreiben was extends Application hat
-> rechtsklick auf den Projekt Ordner -> Build Path -> Libraries -> Libary hinzufügen -> User Library -> diene FX Library hinzufügen
-> bei run configurations musst du angeben wo deine Main ist -> application.Main bzw application."deine MainKlasse"
gib also application."deine MainKlasse" ein und lass eclipse es durchsuchen dass die Verbindung auch stimmt
-> in deine Module Info kommt ungefähr sowas rein
wenn du das exports NICHT hast importierst du das ganze aber schickst es nicht raus und dann fängt die Main immer zum weinen an XD
das exports vergessen die meisten
ich hoffe ich hab keinen schritt vergessen
Dann gibts Noch eine Möglichkeit Gluon hat eine Anleitung Geschrieben wei man mit VM Arguments die Bibliothek hinzufügt..weis nich obs die Anleitung noch gibt
M.L sein (1) link benutzt das VM Argument
PS: Falls du im Studium bist / es in der Schule Lernst ist mein Weg "in der Regel" der der von den Lehrern bneutzt wird... im nachhinein bin ich von meinem Prof bissl enttäuscht weil das maven projekt 10 mal schneller geht
1. aktuelle Eclipse IDE 2020-12 für Mac installiert
2. JDK 16.0 für Mac installiert und mit Eclipse verknüpft
3. JavaFX Mac OS X SDK Release 16 von Gluon heruntergeladen
4. In Eclipse unter Help -> Marketplace -> e(fx)Eclipse 3.7.0 installiert
5. Eclipse Neustart
6. unter File -> New Project -> JavaFX -> JavaFX Project neues Testprojekt angelegt
7. Test -> src -> application -> Main.java ausgeführt und folgende Fehlermeldung erhalten:
"Error occurred during initialization of boot layer - java.lang.module.FindException: Module Test not found"
8. unter Preferences -> Java -> Build Path -> User Libraries -> New -> "Name auswählen" -> Add External jars -> 8x jar-Dateien aus lib-Ordner von Gluon zugefügt -> Apply & Close
9. Test -> rechte Maustaste -> Build Path -> Add Libraries -> User Libraries -> Next -> "Name auswählen" -> Finish
Nun sollten eigentlich die Fehlermeldungen schon verschwinden....tun sie aber nicht
10. Test -> rechte Maustaste -> Build Path -> Configure Build Path -> Libraries -> unter Classpath eigene Bibliothek zufügen und speichern
Schau Dir bitte einmal das Getting Started von https://openjfx.io an. Da hast Du wirklich alles im Detail erklärt - incl. genauer Beschreibung, wo Du was in Eclipse eintragen musst.
Aber generell rate ich dazu, Projekte mit Maven oder Gradle zu verwalten. Da kann man dann deutlich einfacher helfen als in einer IDE zu erläutern / prüfen, ob Du überall wirklich die richtigen Einstellungen hast.
und schon gehts wenn man nichts in der Module info vergessen hat, das ist schon deutlich angenehmer
der erste Teil der Pom wird dir eh von eclipse erzeugt musst nur noch das hinzufügen
ob man dann noch spezielle dependencies für linux und mac einbauen muss weis ich leider nicht
Evtl. hast Du auch einfach keine module-info.java. Dann hättest Du ein anonymes Modul. Das ist auch prinzipiell ok. Die ganzen requires und exports sind dann auch unnötig, denn das anonyme Modul hat automatisch ein require auf alle vorhandenen Module und ein export auf alle Namespaces.
So lange Du kein "opens" benötigst, weil der FXMLLoader deine Controller per deep reflection auslesen muss und Du auch kein jlink nutzen willst, ist das alles kein Problem.
Ansonsten noch einmal der Hinweis auf das Getting Started auf openjfx.io. Da ist es wirklich Schritt für Schritt erläutert und Du kannst Dir auch genau raussuchen, was Du machen willst. Bei Maven wäre mein Ratschlag auch, das entsprechende Plugin zu nutzen. Und falls Du da die Dependencies von Joreyk übernimmst: Die Version 17-ea+9 ist bestimmt nicht, was Du nutzen willst!
Evtl. hast Du auch einfach keine module-info.java. Dann hättest Du ein anonymes Modul. Das ist auch prinzipiell ok. Die ganzen requires und exports sind dann auch unnötig, denn das anonyme Modul hat automatisch ein require auf alle vorhandenen Module und ein export auf alle Namespaces.
So lange Du kein "opens" benötigst, weil der FXMLLoader deine Controller per deep reflection auslesen muss und Du auch kein jlink nutzen willst, ist das alles kein Problem.
Ansonsten noch einmal der Hinweis auf das Getting Started auf openjfx.io. Da ist es wirklich Schritt für Schritt erläutert und Du kannst Dir auch genau raussuchen, was Du machen willst. Bei Maven wäre mein Ratschlag auch, das entsprechende Plugin zu nutzen. Und falls Du da die Dependencies von Joreyk übernimmst: Die Version 17-ea+9 ist bestimmt nicht, was Du nutzen willst!
Ich würde also die letzte stable nehmen also eine 16er.
EA (Early Access), RC (Release Candidate) und was es da sonst noch so gibt sollte man nur nutzen, wenn man es braucht (weil wichtige neue Features oder so drin sind) oder man da aktiv mitarbeitet (also testen will oder so).
Aber gerade wenn man noch Probleme hat, überhaupt sein Projekt aufzusetzen, dann ist das ungünstig.
Also für den TE wäre das eher nichts und auf den war das bezogen. Du magst da ja durchaus Gründe für haben, ...
hover über javafx javafx.controls
kommt dann "fix project setup" dann wird dir vorgeschlagen die von dir erstellte User Library hinzuzufügen
jaFX ist eine von mir erstellte user libary mit den fx jars
eig musst du nur
1. neues jfx projekt erstellen
2. über controls hovern
3. fix setup
4. library hinzufügen
5. fertig
hover über javafx javafx.controls
kommt dann "fix project setup" dann wird dir vorgeschlagen die von dir erstellte User Library hinzuzufügenAnhang anzeigen 15325
jaFX ist eine von mir erstellte user libary mit den fx jars
eig musst du nur
1. neues jfx projekt erstellen
2. über controls hovern
3. fix setup
4. library hinzufügen
5. fertig
nich ganz informier dich mal über
Layouts
Scene
und Stage
und Nodes
und dann wenns probleme gibt mach einen neuen thread auf dieser ist von der thematik abgeschlossen
bei mir gehts so in Eclipse
Über Klasse hovern ->
unten beim Kästchen is ein Kleiner Button mit "open Declaration" ->
drauf klicken -> du bist in der Klasse drin