-
Notifications
You must be signed in to change notification settings - Fork 1
Description
当用上下左右键控制单元格是,从A单元格移动到B单元格,A单元格处于选中状态,A单元格应该是处于未选中状态。
可以通过一下方式解决:
‘
textField.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (event.getCode() == KeyCode.ESCAPE) {
textField.setText(getConverter().toString(getItem()));
cancelEdit();
event.consume();
} else if (event.getCode() == KeyCode.RIGHT
|| event.getCode() == KeyCode.TAB) {
TablePosition<S, ?> pos = getTableView().getFocusModel().getFocusedCell();
getTableView().getSelectionModel().selectNext();
getTableView().getSelectionModel().clearSelection(pos.getRow(), pos.getTableColumn());
event.consume();
} else if (event.getCode() == KeyCode.LEFT) {
TablePosition<S, ?> pos = getTableView().getFocusModel().getFocusedCell();
getTableView().getSelectionModel().selectPrevious();
getTableView().getSelectionModel().clearSelection(pos.getRow(), pos.getTableColumn());
event.consume();
} else if (event.getCode() == KeyCode.UP) {
TablePosition<S, ?> pos = getTableView().getFocusModel().getFocusedCell();
getTableView().getSelectionModel().selectAboveCell();
getTableView().getSelectionModel().clearSelection(pos.getRow(), pos.getTableColumn());
event.consume();
} else if (event.getCode() == KeyCode.DOWN) {
TablePosition<S, ?> pos = getTableView().getFocusModel().getFocusedCell();
getTableView().getSelectionModel().selectBelowCell();
getTableView().getSelectionModel().clearSelection(pos.getRow(), pos.getTableColumn());
event.consume();
}
});
’