У меня есть редактируемый TableView, который проверяет входные данные на табличных ячейках. Если пользователь вводит недопустимый ввод, появится сообщение с сообщением об ошибке. однако, когда отображается окно предупреждения, TableCell и TableView теряет фокус. В приведенном ниже коде описывается сценарий.javafx как запросить фокус на ячейке таблицы?
tableColumn.setOnEditCommit(evt -> {
boolean inputValid = // do validation;
if(!inputValid) {
int row = tableView.getEditingCell().getRow();
Alert alert = new Alert(AlertType.ERROR);
alert.setContentText("Invalid input");
alert.initModality(Modality.WINDOW_MODAL);
alert.initOwner(tableView.getScene().getWindow());
alert.showAndWait();
tableView.requestFocus(); // get back focus
tableView.edit(row, tableColumn);
}
});
это захватывает внимание назад к TableView после показа окна предупреждения, но TextField внутри TableCell не имеет фокус. как это сделать? и, кстати, им воспользовалась таблица EditingCell TableCell вместо TextFieldTableCell.
я попробовал это, но это Ждут» т работы. – bazi