У меня есть JavaFX TableView, где я устанавливаю столбец как CheckBoxTableCell, и я хочу изменить цвет фона этой ячейки на основе какого-либо события нажатия кнопки, чтобы цвет, который отображается в другом пользовательском интерфейсе моего кода, был также цвет фона этой ячейки.
Я реализовал столбец CheckBoxTableCell следующим образом -
dtlsTableViewDisplayChannelColumn.setCellValueFactory(cellData -> cellData.getValue().isChecked());
dtlsTableViewDisplayChannelColumn
.setCellFactory(CheckBoxTableCell.forTableColumn(new Callback<Integer, ObservableValue<Boolean>>() {
@Override
public ObservableValue<Boolean> call(Integer param) {
logger.info("AID " + observableDataList.get(param).getAid() + " changed value to "
+ observableDataList.get(param).isChecked());
if (observableDataList.get(param).isChecked().get()) {
aidSet.add(observableDataList.get(param).getAid());
} else {
aidSet.remove(observableDataList.get(param).getAid());
}
return observableDataList.get(param).isChecked();
}
}));
И это отображается в пользовательском интерфейсе следующим образом -
CheckBox в пользовательском интерфейсе с кнопкой Visualize
Таким образом, при нажатии кнопки «Визуализировать» цвет фона отмеченной ячейки CheckBox должен измениться на заданное значение цвета.
Пожалуйста, найдите ниже изображение, которое является ожидаемым результатом -
CheckBox в пользовательском интерфейсе с изменением цвета фона отмеченной ячейки CheckBox после нажатия кнопки «Визуализация»