在JavaFX TreeView中,是否有类似“BeforeTreeItemSelectionChanged”的事件?在单击新的 TreeItem 之前,我想在旧的 TreeItem 上保存一些设置。谢谢。
最佳答案
如果您只想引用之前选择的项目,您可以添加 ChangeListener
聆听 selectedItemProperty
的变化TreeView
的选择模型因为它是 changed
方法为您传递以前的值:
changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
此示例在选择时打印先前选择的项目的值:
treeView.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
if(oldVal != null)
System.out.println(oldVal.getValue());
});
这是相同的,但是使用匿名类来查看类型:
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<String>>() {
@Override
public void changed(ObservableValue<? extends TreeItem<String>> observable, TreeItem<String> oldValue, TreeItem<String> newValue) {
if(oldValue != null)
System.out.println(oldValue.getValue());
}
});
关于java - JavaFX TreeView 中的 BeforeTreeItemSelectionChanged 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050369/