簡體   English   中英

TornadoFX addClass 不添加 CSS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM