Ich habe ein benutzerdefiniertes JavaFx-Steuerelement, das in meiner Anwendung rendert. Aber SceneBuilder kann ich nicht verstehen.
Ich habe CustomTextField.java / CustomTextField.fxml. CustomTextField erbt von UserControl, wie hier definiert hier , aber mein Szenario-Builder-Problem passiert mit jedem benutzerdefinierten Steuerelement, das ich erstelle.
Zuerst musste ich meine Importanweisung ändern, um ein Platzhalter zu sein. Von
%Vor%bis
%Vor%Andernfalls hat der Scenebuilder eine Ausnahme ausgelöst / einen Stacktrace angezeigt, der darauf hinweist, dass die Quelldatei nicht gefunden wurde. Ich habe keine Ahnung, warum das notwendig war, aber es schien zu funktionieren, also bewegte ich mich weiter.
Ich hatte gelesen, dass Sie in der fxml-Datei auch ein classpath-Element für das Scenebuilder angeben müssen. Also habe ich jede denkbare Kombination ausprobiert:
%Vor%Mein Problem ist, dass das benutzerdefinierte Steuerelement im Szenen-Generator nicht wiedergegeben wird. Wenn man es im Hierarchie-Baum auswählt, zeigt es an, dass "Auswahl nicht aufgelöste Referenz enthält". Wenn ich das benutzerdefinierte Steuerelement nicht per Drag & Drop verschieben kann, ist das akzeptabel. Allerdings möchte ich dies wirklich im Szenen-Generator rendern und andere Sachen auflegen.
Ich verwende IntelliJ IDEA 14 und Scene Builder 2.0
sample.fxml:
%Vor%Ich kann benutzerdefinierte Klassen laden. Wir haben es zum Laufen gebracht, indem wir eine .jar-Datei mit den benutzerdefinierten Klassen erstellt haben und dann in SceneBuilder neben dem Durchsuchen der Bibliothek und dem Importieren der benutzerdefinierten Bibliothek zum Einstellungssymbol gehen. Dann finden Sie Ihr .jar. Vielleicht könnten Sie das Gleiche mit .class-Dateien machen?
Hier ist die Import-Anweisung in der .fxml:
%Vor%Hier verwende ich es in der .fxml:
%Vor%Hier ist die Klassendefinition:
%Vor%Tags und Links java intellij-idea javafx scenebuilder