Frage von Wissididom, 19

Ich habe ein JavaFX-Programm mit TreeView, bei dem setRoot nicht funktioniert?

Ich habe ein JavaFX-Programm geschrieben. Bei diesem Programm möchte ich automatisch einige Einträge einfügen. Aber das "setRoot(rootItem);" funktioniert nicht (Bild: http://prnt.sc/d0xtbu). Ich hoffe man kann mir helfen

Expertenantwort
von KnusperPudding, Community-Experte für Java, 14

Ich hoffe man kann mir helfen

Ja, wenn du die benötigten Informationen bereit stellst:

  • Wie ist dein TreeView deklariert? (Denn dieser nimmt Generics entgegen)
  • Wie ist dein Root-item deklariert? (Denn auch hier wird ein Generics-Typ erwartet)

Mit:

TreeView<String> treeView;
TreeItem<String> root;

muss es funktionieren.

Kommentar von Wissididom ,

Ich habe mal die Controller-Klasse und die FXML hochgeladen. Hoffentlich hilft das:

Controller-Klasse: http://pastebin.com/yMw6Nyp2

FXML-Datei: http://pastebin.com/vqRDGjAY

Kommentar von KnusperPudding ,
@FXML // fx:id="TreeView1"
private TreeView<?> TreeView1; // Value injected by FXMLLoader

Genau hier liegt das Problem. Bei der Variablen-Deklaration muss der Typ passen:

private TreeView<String> TreeView1;

Die Fragezeichen-Wildcard bei deinen anderen Elementen würde ich an deiner Stelle auch ersetzen, und zwar durch die realen Typen.

Keine passende Antwort gefunden?

Fragen Sie die Community