如果是愚蠢的问题,嗨,大家好。我是JavaFX开发的新手。
方案 我正在使用JavaFX8的TreeView组件为应用程序构建菜单
问题描述 问题是,当再次选择所选项时,不会触发处理程序。即:如果我选择CHILD 1.1,则会触发doSomething()。但如果再次选择它而不选择其他TreeItem,则之前不会触发doSomething()。代码如下所示:
TreeItem<String> root = new TreeItem<>("ROOT");
root.setExpanded(true);
TreeItem<String> child1 = new TreeItem<>("CHILD 1");
child1.setExpanded(true);
TreeItem<String> child2 = new TreeItem<>("CHILD 2");
TreeItem<String> child11 = new TreeItem<>("CHILD 1.1");
tvMenu.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> {
String selectedItem =v.getValue().getValue();
if (selectedItem.equals("CHILD 1.1")){
doSomething();
}
我该如何处理这个问题?
提前谢谢。
编辑03/10/2017
感谢 @James_D ,问题在这里解决了:
How do I make a mouse click event be acknowledged by a TreeItem in a TreeView?