首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在TornadoFX中向VBox添加边框样式

在TornadoFX中向VBox添加边框样式
EN

Stack Overflow用户
提问于 2018-06-07 04:25:03
回答 1查看 1.4K关注 0票数 2

在我的TornadoFX应用程序的视图中,我有一个边框窗格,在视图的左右两边都有一个VBox (中间没有任何东西)。到目前为止,每个VBox都有相同的背景颜色,所以它们有点混合在一起。我想展示两个VBoxes之间的某种分离(即,一个VBox的色调稍暗,边框颜色,或者两者都有)。有人知道如何在vbox中添加边框样式吗?或者添加背景颜色?

为了澄清,我正在寻找一种方法来在我的View类定义的主体中做到这一点,这样我就不会使用CSS或FXML来设置样式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 05:38:21

最好的方法是创建一个类型安全样式表,在该样式表中为每个vbox定义一个类,并将这些类分配给vbox。下面是一个完整的应用程序,包括样式表、应用程序定义和主视图:

代码语言:javascript
复制
class MyApp : App(MainView::class, MyStyles::class)

class MyStyles : Stylesheet() {
    companion object {
        val leftBox by cssclass()
        val rightBox by cssclass()
    }

    init {
        leftBox {
            backgroundColor += c("#cecece")
            borderColor += box(c("#a1a1a1"))
            minWidth = 200.px
        }

        rightBox {
            backgroundColor += c("#fefefe")
            borderColor += box(c("#222222"))
            minWidth = 200.px
        }
    }
}

class MainView : View("My View") {
    override val root = borderpane {
        setPrefSize(800.0, 600.0)

        left {
            vbox {
                addClass(MyStyles.leftBox)
            }
        }
        right {
            vbox {
                addClass(MyStyles.rightBox)
            }
        }
    }
}

如果您对样式表敏感,您可以将这些属性设置为内联或使用内联样式表:

代码语言:javascript
复制
class MainView : View("My View") {
    override val root = borderpane {
        setPrefSize(800.0, 600.0)

        left {
            vbox {
                style {
                    backgroundColor += c("#cecece")
                    borderColor += box(c("#a1a1a1"))
                    minWidth = 200.px
                }
            }
        }
        right {
            vbox {
                style {
                    backgroundColor += c("#fefefe")
                    borderColor += box(c("#222222"))
                    minWidth = 200.px
                }
            }
        }
    }
}

最后,您可以配置节点的相应属性,而不是应用样式。我不会给出一个例子,因为你真的不应该这样做:)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50728991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档