Netbeans mit JavaFX, FXML und Scenebuilder

Juelin

Bekanntes Mitglied
Hallo,
ich habe Windows 10, jdk-21, javafx-13, Apache-NetBeans-21-bin-windows-x64.exe und SceneBuilder-21.0.0.msi.
Ich lerne immer noch Java aus dem Buch "Java programmieren lernen für Einsteiger".
Jetzt bin ich im Kapitel 12 bei Scenebuilder.
Laut Buch soll man den Scenebuilder von http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html
runter laden. Aber den Link gibt es nicht mehr.
Habe also Scenebuilder "SceneBuilder-21.0.0.msi" von https://gluonhq.com/products/scene-builder/ runter geladen.
Dannach habe ich installiert. Hat alles wunderbar geklappt.
Habe in Netbeans Tools->Options->Java->JavaFX das Scenebuilder Homeverzeichnis eintragen. Habe ich gemacht (siehe Anlage bild1 und bild5).
Nun soll man laut Buch ein neues Projekt in Netbeans anlegen.
Das Projekt (Projekt8) soll javafx und fcml haben laut Buch.
Habe ich gemacht (siehe Anlage bild2 und bild3).
Jetzt sollte man laut Buch das File "FXML.Document.fxml" auf machen in Netbeans.
Aber das File gibt es bei mit nicht (siehe Analge bild4).
Wenn ich App.java öffne startet auch nicht der Scenebuilder.
Was muss ich tun?
Hat Jemand eine Ahnung?
Danke und Gruß
Jürgen
 

Anhänge

  • bild1.jpg
    bild1.jpg
    135 KB · Aufrufe: 0
  • bild2.jpg
    bild2.jpg
    181,5 KB · Aufrufe: 0
  • bild3.jpg
    bild3.jpg
    148,4 KB · Aufrufe: 0
  • bild4.jpg
    bild4.jpg
    91,3 KB · Aufrufe: 0
  • bild5.jpg
    bild5.jpg
    223,7 KB · Aufrufe: 0
Moins !

Bild 4, ändere mal die Ansicht von Project in Files.

In Maven gibt es 2 Ordner,

src/main/java -> alle Java Dateien
src/main/resources -> alle Ressourcen (unter anderem die FXML-Dateien

Wenn der Ordner src/main/resources nicht existiert ist irgendwas bei der Erstellung des Projekts schief gelaufen, dann dürfte das Projekt auch nicht starten.
 
Hallo Ernesto,
habe ich gemacht. Die Verzeichnisse sind da, aber die FXML-Datei fehlt.
siehe bild8.
Gruß
Jürgen
 

Anhänge

  • bild8.jpg
    bild8.jpg
    79 KB · Aufrufe: 0
Hallo,
ich bin wieder einen Schritt weiter.
Ich habe ja ein Icon SceneBuilder auf meinen Desktop.
Wenn ich nun im Programm Scenebuilder ein Fenster erstelle und es anschliessend im Scenebuilder das Projekt
unter dem Namen FXMLDocument.fxml in Verzeichnis
Projekt8/src/main/java/com/juelin/projekt8 speichere (bild1)
erscheint das File auch in Netbeans und wenn ich darauf klicke öffnet der Scenebuilder. (bild2)
Nun ist im Buch noch ein zweites File in Netbeans angegeben.
FXMLDocumentController.java
Keine Ahnung wo ich das File her bekommen soll und wozu es gut ist.
Hat da jemand noch eine Idee?.
Danke und Gruß
Jürgen
 

Anhänge

  • bild1.jpg
    bild1.jpg
    362,5 KB · Aufrufe: 0
  • bild2.jpg
    bild2.jpg
    80,6 KB · Aufrufe: 0
Nun ist im Buch noch ein zweites File in Netbeans angegeben.
FXMLDocumentController.java
Keine Ahnung wo ich das File her bekommen soll und wozu es gut ist.
Du kannst diese Datei auch selbst anlegen. Diese gehört aber nicht in den resource Ordner sondern in den java Ordner ... also srd/main/java und dann noch ggf. die Verzeichnisse des packages.

Eine Datei FXMLDocumentController.java sollte die Klasse FXMLDocumentController enthalten.
 
prima Konrad,
aber was muss da drin stehen (ausser dem Klassennamen)
und erstellt Scenebuilder die Datei nicht?
Hast Du mal ein Beispiel?
Danke und Gruß
Jürgen
 
Im Scene Builder kannst du dir für die FXML Datei die du gerade geöffnet hast eine Controller Vorlage erstellen lassen. Das ist im Menupunkt Edit oder View und heisst ShowControllerSkeleton oder so ähnlich. Das kannst du dann per CopyPaste in Netbeans übernehmen.

Ich meine Netbeans bietet dafür auch eine Komfortfunktion die dir das Grundgerüst aus dem FXML File generiert. Habe aber schon seit Jahren nicht mehr mit Netbeans gearbeitet, da müsste sich mal jemand zu äußern der mit Netbeans arbeitet.

Die FXML Files gehören übrigens nicht in den Ordner java sondern in den Ordner resources. Es funktioniert auch im Ordner java, aber das entspricht nicht der Maven Konvention.

Wenn du den FXMLDocumentController.java dann erstellt hast muss du diesen im SceneBuilder noch dem FXML File zuweisen. Das machst du im SceneBuilder unten links über den Reiter Controller.
 
Zuletzt bearbeitet:
Super Konrad,
ohne Deine Hilfe hätte ich das nicht geschafft.
Das ist aber auch komplitiert.
Da sollte mal eine vernüftige Anleitung veröffentlicht werden.
SElber in meinem Buch war das nicht genau beschrieben.
Also nochmals Danke.
Gruß
Jürgen
 
Super, dass Dir geholfen wurde, wobei die meiste Hilfe hier im Thread von Ernesto95 und @M.L. gekommen ist. Mein Anteil war ja doch extrem überschaubar.
 
Ja Konrad Du hast recht.
Ich habe den Ernesto übersehen. Tut mir leid.
Auch natürlich an Ernesto meinen besten Dank.
Gruß
Jürgen
 

Zurück
Oben