TableView失去焦点时清除选择

时间:2018-07-25 13:36:22

标签: java user-interface javafx tableview javafx-8

当我的表格视图失去焦点时,我正在尝试清除选择。现在,当我单击添加按钮时,将添加新的EMPTY行,并对其进行设置,以便第一列处于编辑状态。如果我单击该单元格之外的任何位置,则什么也不会发生。该单元保持选中状态,这并不是我真正想要的。 我希望在表格视图不集中时不选择单元格。

我在自定义条目上使用了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();
        }

    );

我宁愿在失去焦点的桌子上使用clearSelection。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

ChangeListener的{​​{1}}的{​​{3}}中添加Node。然后,当所述属性的新值是TableView时,从false的{​​{3}}中检索SelectionModel并调用focused property

TableView