``` textField.addEventFilter(KeyEvent.KEY_PRESSED,...
# tornadofx
d
Copy code
textField.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
            if (event.getCode() == KeyCode.ESCAPE) {
                textField.setText(converter.toString(getItem()));
                cancelEdit();
                event.consume();
            } else if (event.getCode() == KeyCode.RIGHT) {
                getTableView().getSelectionModel().selectRightCell();
                event.consume();
            } else if (event.getCode() == KeyCode.ENTER) {
                int col = getTableView().getFocusModel().getFocusedCell().getColumn();
                if ((col + 1) == getTableView().getColumns().size()) {
                    int row = getTableRow().getIndex() + 1;
                    getTableView().getSelectionModel().select(row);
                    for (int i = col; i > 0; i--) {
                        getTableView().getSelectionModel().selectPrevious();
                    }
                } else
                    getTableView().getSelectionModel().selectRightCell();
                event.consume();
            } else if (event.getCode() == KeyCode.TAB) {
                getTableView().getSelectionModel().selectRightCell();
                event.consume();
            } else if (event.getCode() == KeyCode.LEFT) {
                getTableView().getSelectionModel().selectLeftCell();
                event.consume();
            } else if (event.getCode() == KeyCode.UP) {
                getTableView().getSelectionModel().selectAboveCell();
                event.consume();
            } else if (event.getCode() == KeyCode.DOWN) {
                getTableView().getSelectionModel().selectBelowCell();
                event.consume();
            }
        });