Я использую TableView для отображения некоторых данных. Пример таблицы показано на рисунке:Get/Set ToggleButton state в TableView JavaFX2.2
только элементы в 2-ом столбце редактируются. Третий столбец содержит ToggleButton, который в основном отображает TextField, когда нажата кнопка «Изменить».
Что я хочу, это переключить состояние соответствующего ToggleButton в следующую функцию обработчика событий (см. Комментарии в фрагменте кода ниже).
textField.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {
if (t.getCode() == KeyCode.ENTER) {
commitEdit(textField.getText());
//Toggle the state of Edit button here
} else if (t.getCode() == KeyCode.ESCAPE) {
cancelEdit();
//Toggle the state of Edit button here
}
}
});
Я попробовал свой уровень лучше всего, чтобы получить соответствующий объект редактировать кнопку в выбранной строке, но ничего не помогло, и я не мог найти соответствующую статью.
Это что-то достижимое? Если да, то как это можно сделать.
Спасибо за ответ. Да, вы правильно поняли проблему. Однако эти кнопки редактирования создаются динамически для каждой строки. Они не созданы во время разработки, поэтому это решение не поможет. Подход, который я использовал для отображения кнопок в сетке, похож на эту статью http://java-buddy.blogspot.co.uk/2013/03/javafx-embed-button-in-tableview.html –