[英]TornadoFX addClass does not add CSS
TLDR; 當嘗試使用style { ... }
內聯 CSS 更改listview
的背景顏色時,它可以工作,但使用復制粘貼的 CSS 的addClass
什么也不做。
以下代碼(使用內聯 CSS)有效:
listview(monsterController.monsters) {
vgrow = Priority.ALWAYS
cellFormat {
// addClass(StatBlockStyles.monsterListCell)
style {
backgroundColor += Color.color(253.0 / 255.0, 241.0 / 255.0, 220.0 / 255.0)
}
graphic = label(it.name)
}
但是如果我注釋style { ... }
並取消注釋addClass(...)
它似乎沒有效果。
CSS 類是內聯 CSS 的字面復制粘貼:
import javafx.scene.paint.Color
import tornadofx.*
class StatBlockStyles: Stylesheet() {
companion object {
val monsterListCell by cssclass()
}
init {
monsterListCell {
backgroundColor += Color.color(253.0 / 255.0, 241.0 / 255.0, 220.0 / 255.0)
}
}
}
為什么會發生這種情況,我應該怎么做才能真正將樣式與代碼的其余部分分開?
嘗試將其添加到包含列表視圖的視圖/片段的 init 部分:
init {
importStylesheet(StatBlockStyles::class)
}
注意:您只需要使用一次導入功能。 樣式將保留在程序的其余部分,即使在其他窗口/視圖/片段中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.