Вы можете создать безопасную таблицу стилей и создать селектор для этого столбца подключения, который имеет цвет фона по умолчанию.Затем добавьте еще один селектор, называемый достижимым, который переопределяет этот цвет, например:
class MyStyles : Stylesheet() {
companion object {
val reachable by cssclass()
val connectivityColumn by cssclass()
}
init {
connectivityColumn {
backgroundColor += c("#8b0000")
}
connectivityColumn and reachable {
backgroundColor += c("#00b200")
}
}
}
Убедитесь, что этот столбец получает класс connectivityColumn
, и переключите состояние reachable
с помощью toggleClass
:
column("Reachable", Server::reachableProperty) {
addClass(MyStyles.connectivityColumn)
cellFormat {
toggleClass(MyStyles.reachable, item)
graphic = hbox {
button("Restart")
}
}
}
Обратите внимание, что это обновляет цвет только при перерисовке таблицы.Если вам нужно обновить цвет на основе внешних событий, когда представление таблицы не перерисовывается, либо запустите событие, чтобы перерисовать его, либо используйте привязку.Если вы добьетесь успеха с первым подходом, я бы порекомендовал его, поскольку он не привязывает слушателей.