Ich möchte die Auswahl in einem TreeView abrufen und das entsprechende Modellobjekt zurückgegeben haben. Alle Antworten darauf legen nahe, dass dies mit einem inneren Klassen- oder Lambda-Ausdruck geschieht. Allerdings erinnert mich dieser Compiler daran, dass Variablen (effektiv) endgültig sein müssen. Ich verstehe, warum das so ist, aber ich weiß nicht, das Problem zu lösen.JavaFX Treeview gibt ausgewählte Einträge zurück
Hinweis: Ich bin mir eigentlich nicht sicher, warum die Situation überhaupt einen Listener erfordern würde, da ich nicht einmal ständig zuhören möchte, sondern das Ergebnis bekomme, wenn die Methode aufgerufen wird.
private CampaignObject getLeadSelect(){
CampaignObject co = null;
campTree.getSelectionModel().selectedItemProperty().addListener(
new ChangeListener<TreeItem <CampaignObject>>() {
@Override
public void changed(ObservableValue<? extends TreeItem<CampaignObject>> observableValue,
TreeItem<CampaignObject> oldItem, TreeItem<CampaignObject> newItem) {
co = newItem.getValue());
}
});
return co;
}
Ich bin verwirrt: Wenn Sie sagen, Sie brauchen keinen Zuhörer, warum definieren Sie einen? –
In Ihrem Code fehlt ein "}" – LoicTheAztec