Java 当TableView失去焦点时清除所选内容
当我的表视图失去焦点时,我试图清除所选内容。现在,当我点击我的添加按钮时,一个新的空行被添加,我将其设置为第一列处于编辑状态。如果我点击单元格外的任何地方,什么都不会发生。单元格仍处于选中状态,这不是我真正想要的。 当我的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
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();
}
});