Scene Builder - Controller Fx:Id fehlt

Alles was die NetBeans IDE bei der Entwicklung von JavaFX betrifft

Moderator: wegus

Antworten
Alex77
Beiträge: 39
Registriert: 30.09.2006, 20:27

Scene Builder - Controller Fx:Id fehlt

Beitrag von Alex77 » 13.03.2015, 21:29

Hallo Freunde des Scene Builders 2.0,
wie bekomme ich in einem Nicht-JavaFX Projekt Zugang zu den fx:id's im Scene Builder?
Ich benutze Netbeans 8.0.2, das JDK 8.0.40 und den Scene Builder 2.0 unter Windows 7.

Folgendes Problem:
Wenn ich ein neues leeres JavaFX Projekt erstelle, dann funktioniert alles prima. Beim Klick auf eine FXML Datei öffnet sich der Scene Builder und die @FXML Annoations werden auch im Scene Builder angezeigt.

Was nicht funktioniert:
Wenn ich ein altes Projekt, das ohne JavaFX eröffnet wurde eine FXML Datei erstelle und einen Controller dazu, dann öffnet sich beim Klick auf die FXML Datei zwar der Scene Builder, allerdings werden die fx:ids nicht angezeigt, die ich im Controller mit den @FXML Annotations markiert habe.
In den Libraries habe ich "jfxrt.jar" hinzugefügt. Ein JavaFX Programm funktioniert soweit, ich kann z.B. ein Video abspielen.
Nur im Scene Builder werden die fx:ids nicht angezeigt.

Was mir auffiel:
Im Scene Builder ist die korrekte Controller Klasse angegeben.
Im leeren JavaFX - Hello World Projekt ist unter Libraries "javafx.classpath.extension" angegeben. Bei meinem alten Projekt natürlich nicht.
Ebenso wird im JavaFX Projekt bei der Controller Klasse im Projects Fenster ein Werkzeug-Icon angezeigt. Bei meinem alten Projekt nicht.

Wie bekomme ich die fx:ids im Scene Builder angezeigt bei meinem alten nicht JavaFX Projekt?

Vielen Dank für Eure Mühe im Voraus,
Alex

Alex77
Beiträge: 39
Registriert: 30.09.2006, 20:27

Re: Scene Builder - Controller Fx:Id fehlt

Beitrag von Alex77 » 13.03.2015, 22:36

Ich habe es mit einem Workaround gelöst.
Falls mir aber jemand sagen kann, wie ich bei meinem alten Projekt auf den Scene Builder und seine fx:id zugreifen kann, wäre ich aus reine Neugier dankbar.

Mein Workaround:
Ich habe ein neues Projekt erstellt "JavaFX Application". Anschließend habe ich alle Packages meines alten Projekts einzeln rüberkopiert, alle nötigen Jars ins neue Projekt eingebunden - und es funktioniert.

Das zeigt mir, dass mein Programmcode korrekt war, nur die Verbindung zwischen Netbeans und Scene Builder nicht funktioniert, wenn man nicht extra ein JavaFX Application Projekt erstellt. Irgendwie nervt mich das.

Benutzeravatar
smurfi
Site Admin
Beiträge: 1624
Registriert: 29.06.2006, 11:33
Wohnort: Wuppertal
Kontaktdaten:

Re: Scene Builder - Controller Fx:Id fehlt

Beitrag von smurfi » 16.03.2015, 05:25

Hallo,

kann es sein das er es nicht als JavaFX Projekt erkannt hat?
NetBeans kann diesen Zusammenhang nur erkennen wenn es auch ein JavaFX Projekt ist.

Gruß
Michael

Alex77
Beiträge: 39
Registriert: 30.09.2006, 20:27

Re: Scene Builder - Controller Fx:Id fehlt

Beitrag von Alex77 » 17.03.2015, 00:23

Ja, genau. Es war halt kein JavaFX Projekt. Ich hatte das Programm mit JDK 6 begonnen und es enthält viel Swing.
Im Moment versuche ich die Swing Anteile zu JavaFX zu migrieren :-)
Aber es muss nicht mal ein JavaFX Projekt sein, wie ich gemerkt habe. Es reicht, wenn ich ein neues normales Java Projekt beginne und dort FXML einbaue. Das geht ja sogar - ohne ein JavaFX Projekt zu nutzen. Es ging halt nur mit meinem Jdk 6 Projekt nicht --> ich hatte natürlich längst auf JDK 7 und später auf 8 umgestellt.

Antworten