0
CheckBoxで選択された項目が表示されるカスタムCheckBoxTableViewを作成しています。項目が選択されると、ユーザーが表をソートしようとすると、それは混乱しているように見えます。私は、ユーザーに彼らが続行したいかどうかを確認するように促したいと思います。もしそうなら、私は選択をクリアしたい、そうでなければ、ソートが起こらないように単にイベントを消費する。JavaFX8のTableViewでMouseEvent.MOUSE_CLICKEDを傍受する方法
残念ながら - ソートが完了した後、私のEventFilterが起動するようです。
テーブルビューのコンストラクタで、私は次のコードを配置:
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火災時で、テーブルがソートされています。
どのような考えですか?どちらも働いていた -
私は両方試したこと
MouseEvent.MOUSE_RELEASED
後に解雇されました。しかし、私はSortEvent.ANYを使用することができ、それを解決しました。 –