Javafx TreeView监听器

时间:2015-08-08 18:57:13

标签: java javafx treeview

我的应用程序中有一个TreeView,我想添加一个监听器来获取所选的项目。我目前有:

treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {

            @Override
            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {

            }           
        });

收到错误:The method addListener(ChangeListener<? super TreeItem<String>>) in the type ObservableValue<TreeItem<String>> is not applicable for the arguments (new ChangeListener<String>(){})

在javafx中向TreeView添加侦听器的正确方法是什么?

它被声明为TreeView<String> treeView = new TreeView<String>(object);

1 个答案:

答案 0 :(得分:1)

我能解决这个问题的方法是把它变成像这样的lambda表达式:

treeView.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> { 
// Body would go here

});

我不知道为什么我的第一种方法不起作用但这确实有效。