簡體   English   中英

TableView失去焦點時清除選擇

[英]Clear Selection when TableView loses focus

當我的表格視圖失去焦點時,我正在嘗試清除選擇。 現在,當我單擊添加按鈕時,將添加新的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。 有任何想法嗎?

ChangeListener添加到Nodefocused屬性TableView繼承)。 然后,當所述屬性的新值為false ,從TableViewselectionModel屬性中檢索SelectionModel並調用clearSelection()

tableView.focusedProperty().addListener((obs, oldVal, newVal) -> {
    if (!newVal) {
        tableView.getSelectionModel().clearSelection();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM