Hinzufügen einer benutzerdefinierten Komponente zu SceneBuilder 2.0

8

Ich brauche einen Auswahl-Listener und wähle Methode in einem Bereich aus, um eine Hervorhebung zu überwachen und darzustellen, wenn auf einen Knoten geklickt wird.

Ich habe Folgendes getan:

%Vor%

}

Und das funktioniert großartig - allerdings kann ich nicht mehr mit SceneBuilder arbeiten, da meine FXML auf diesen PaneWithSelectionListener und nicht auf den Pane verweist. Ich bin mir nicht sicher, wie ich mein benutzerdefiniertes Fenster in SceneBuilder bringen kann. Ich habe mir andere Fragen angeschaut und sie sind alle eine Kombination aus FXML und Controllern - wo dies nur ein Fenster ist.

Kennt jemand eine Möglichkeit, dies zu tun, oder vielleicht die Scheibe für einen PaneWithSelectionListener bei der Initialisierung auszutauschen?

Danke

    
purring pigeon 05.05.2015, 21:45
quelle

1 Antwort

12

Wenn das Problem nur darin besteht, Ihre benutzerdefinierte Klasse in SceneBuilder verfügbar zu machen, können Sie dies mit den folgenden Schritten tun:

  1. Bündeln Sie Ihre benutzerdefinierte Klasse (und alle unterstützenden Klassen wie Annotation ) als JAR-Datei
  2. Aktivieren Sie in SceneBuilder die Dropdown-Schaltfläche neben "Bibliothek" oben im linken Bereich:
  3. Wählen Sie "Import JAR / FXML File ..."
  4. Wählen Sie die Jar-Datei, die Sie in Schritt 1 erstellt haben
  5. Stellen Sie sicher, dass die Klasse, auf die Sie in SceneBuilder ( PaneWithSelectionListener ) zugreifen müssen, aktiviert ist
  6. Drücken Sie "Komponente importieren"
  7. PaneWithSelectionListener wird jetzt in SceneBuilder unter "Benutzerdefiniert" im linken Bereich angezeigt:

Sie werden feststellen, dass das Dropdown-Menü in SceneBuilder über die Option "Benutzerdefinierter Bibliotheksordner" verfügt, über den Sie den Ordner öffnen können, in dem die JAR-Dateien gespeichert sind. Für eine schnelle Option können Sie einfach JAR-Dateien in diesen Ordner kopieren und (nach einer kurzen Verzögerung) werden die enthaltenen Klassen in der Liste "Benutzerdefiniert" angezeigt.

    
James_D 06.05.2015, 13:26
quelle

Tags und Links