Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当TableView失去焦点时清除所选内容_Java_User Interface_Javafx_Tableview_Javafx 8 - Fatal编程技术网

Java 当TableView失去焦点时清除所选内容

Java 当TableView失去焦点时清除所选内容,java,user-interface,javafx,tableview,javafx-8,Java,User Interface,Javafx,Tableview,Javafx 8,当我的表视图失去焦点时,我试图清除所选内容。现在,当我点击我的添加按钮时,一个新的空行被添加,我将其设置为第一列处于编辑状态。如果我点击单元格外的任何地方,什么都不会发生。单元格仍处于选中状态,这不是我真正想要的。 当我的tableview未聚焦时,我希望单元格处于未选中状态 我在自定义条目上使用javafx.scene.control.TableView。 我尝试在每一列上设置一个setOnEditCancel,但它不起作用 expressionTableColumn.setOnEdi

当我的表视图失去焦点时,我试图清除所选内容。现在,当我点击我的添加按钮时,一个新的空行被添加,我将其设置为第一列处于编辑状态。如果我点击单元格外的任何地方,什么都不会发生。单元格仍处于选中状态,这不是我真正想要的。 当我的tableview未聚焦时,我希望单元格处于未选中状态

我在自定义条目上使用
javafx.scene.control.TableView
。 我尝试在每一列上设置一个
setOnEditCancel
,但它不起作用

    expressionTableColumn.setOnEditCancel(event -> {
            final ObservableList<TableEntry> items = tableView.getItems();
            if (items.contains(EMPTY_ENTRY)) {
                items.remove(EMPTY_ENTRY);
            }
            tableView.getSelectionModel().clearSelection();
        }

    );
expressionTableColumn.setOnEditCancel(事件->{
最终ObservableList items=tableView.getItems();
if(items.contains(空_条目)){
项目。删除(空_条目);
}
tableView.getSelectionModel().clearSelection();
}
);

我宁愿坐在桌子上,失去焦点。有什么想法吗?

节点的
中添加一个
ChangeListener
(它继承了
TableView)。然后,当所述属性的新值为
false
时,从
表视图
中检索
选择模型
,并调用


这也不行。当我把焦点打开时,它什么也没做table@Mocktheduck刚刚试过这个,我可以确认这是广告宣传的作品。如果这对你不起作用,请按照塞德里克的建议在你的问题中添加一个。您还可以通过查看
场景
,检查
表格视图
是否确实失去焦点。创建一个示例应用程序,复制您所体验的内容。
tableView.focusedProperty().addListener((obs, oldVal, newVal) -> {
    if (!newVal) {
        tableView.getSelectionModel().clearSelection();
    }
});