[英]Javafx TreeView listener
I have a TreeView in my application and I want to add a listener to get the item that is selected. 我的应用程序中有一个TreeView,我想添加一个侦听器以获取选定的项目。 I currently have: 我目前有:
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
}
});
Error received: The method addListener(ChangeListener<? super TreeItem<String>>) in the type ObservableValue<TreeItem<String>> is not applicable for the arguments (new ChangeListener<String>(){})
收到错误: The method addListener(ChangeListener<? super TreeItem<String>>) in the type ObservableValue<TreeItem<String>> is not applicable for the arguments (new ChangeListener<String>(){})
What is the correct way to add a listener to a TreeView in javafx? 在javafx中将侦听器添加到TreeView的正确方法是什么?
It is being declared as TreeView<String> treeView = new TreeView<String>(object);
它被声明为TreeView<String> treeView = new TreeView<String>(object);
The way I was able to fix this issue was by turning it into a lambda expression like this: 我能够解决此问题的方法是将其变成如下所示的lambda表达式:
treeView.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> {
// Body would go here
});
I don't know why my first method did not work but this does work. 我不知道为什么我的第一种方法不起作用,但这确实起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.