Skip to content

有个缺陷需要改进一下 #1

@pppxxxbbb

Description

@pppxxxbbb

当用上下左右键控制单元格是,从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();
}
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions