У меня есть 31 столбец (день 1 день 31) и 12 (месячных) строк на моем столе. Я хочу найти полную таблицу (row wise search) для данных (день) и установить цвет фона только для соответствующей ячейки. Я видел, что можно установить цвет фона для ячейки в определенном столбце используя cellfactory функция.JavaFX Итерация через ячейки TableView (строка мудрый) и установка цвета фона
birthdayColumn.setCellFactory(column -> {
return new TableCell<Person, LocalDate>() {
@Override
protected void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
setStyle("");
}
// Style all dates in March with a different color.
if (item. == Month.MARCH) {
setTextFill(Color.CHOCOLATE);
setStyle("-fx-background-color: yellow");
} else {
setTextFill(Color.BLACK);
setStyle("");
}
};
});
Здесь проверка только один столбец с именем «birthdayColumn'.But в моем случае он должен проверить все ячейки таблицы (построчно) в одном методе и нужно установить фоновый цвет только для этого соответствия cell.How я могу сделать that.Thank Вы заранее
'TableView' действительно не кажется, хорошо подходит для отображения календаря, как это. Вероятно, было бы лучше просто использовать «GridPane» и самостоятельно управлять ячейками. Я действительно не понимаю, как здесь создаются вещи: в каком столбце находится 'birthdayColumn'? Я бы предположил, что есть 31 столбец таблицы, которые были по существу одинаковыми. И почему модель данных для строк под названием 'Person' ??? Разумеется, «Месяц» будет лучшим именем (возможно, вы можете использовать 'java.time.Month', в зависимости от того, как вы управляете данными). Если вы действительно хотите использовать «TableView», вам нужно показать больше, как вы это настроили. –