0
我正在創建一個自定義CheckBoxTableView,其中所選項目與CheckBox一起顯示。如果用戶一旦選擇了項目就試圖對錶格進行排序,它看起來就搞亂了。我想提醒用戶看看他們是否願意繼續。如果是這樣,我想清除選擇,如果不是,只需要消耗事件,以便排序不會發生。如何在JavaFX8上的TableView上攔截MouseEvent.MOUSE_CLICKED
不幸的是 - 我的EventFilter似乎在排序完成後觸發。
在構造函數的TableView,我把下面的代碼:
addEventFilter(MouseEvent.MOUSE_CLICKED, event -> {
if(event.getTarget() instanceof TableColumnHeader) {
Alert a = new Alert(Alert.AlertType.CONFIRMATION);
a.setContextText("you sure?");
Optional<ButtonType> bt = a.showAndWait();
if(bt.isPresent() && bt.get() == ButtonType.OK){
//Clear selection
getSelectionModel().clearSelection();
}else {
event.consume();
}
}
});
但是當我EventFilter火災,該表已排序。
有什麼想法?
我都嘗試 - 既不工作。但是我能夠使用SortEvent.ANY並解決了它。 –