【问题标题】:how do you css style a scroll bar in JavaFX?你如何在 JavaFX 中设置滚动条的 CSS 样式?
【发布时间】:2020-05-22 21:31:33
【问题描述】:

是否可以将列表视图的角设置为特定颜色或隐藏/使其透明,如果可以,我将如何做?

以下是我目前使用 css 设置列表视图样式的尝试。

.list-view .scroll-bar:vertical {
    -fx-background-color:#2c365d;
}

.list-view .increment-button ,.list-view .decrement-button {
    -fx-background-color:transparent;
    -fx-border-color:transparent;
}

.list-view .scroll-bar:vertical .thumb {
    -fx-background-color:#455491;
    -fx-background-insets: 5, 5, 5;
    -fx-background-radius: 5;
}

.list-view .scroll-bar:horizontal {
    -fx-scale-x: 0;
}

【问题讨论】:

    标签: java css listview javafx


    【解决方案1】:

    您可以像这样设置滚动窗格的角:

    .scroll-bar > .corner {    
        -fx-background-color: #2c365d ;
    }
    

    我强烈推荐 Scene Builder 及其 CSS Analyzer,非常适合查找此类内容。使用 CSS Analyzer,您可以查看“可样式化路径”并找到 .corner 样式类,如下图所示。

    即使您在代码中创建 GUI,您仍然可以使用 Scene Builder 来简单地查找此类内容并创建快速模型。

    编辑: 虽然上面的答案对Scroll Panes 来说很好,但对于ListView 来说并不完全一样,这正是op 想要的——我的错。 ListView 具有可样式化的路径:

    .list-view .virtual-flow .corner

    所以这应该可以为列表视图的一角设置样式。

    .virtual-flow > .corner {    
        -fx-background-color: #2c365d ;
    }
    

    我假设您将只有其中一个 ListView,然后您可以给它一个 id,并且只为您的特定 ListView 的角设置样式。

    【讨论】:

    • 这在我的情况下似乎不起作用,我可能应该更具体一点,因为我正在使用列表视图,因为这可能会改变答案,但是,我会采取看看 CSS 分析器
    • 您可以尝试为列表视图提供一个 ID 或样式类,并将 css 更改为 #myListView .corner{ -fx-background-color: #2c365d;} 之类的东西。在查看您的问题时,我可能有点太快了。这样做的目的是为您的#myListView 节点下方的任何级别的任何子级设置样式。
    • 我会看看今天晚些时候我是否可以看看这个,除非到那时其他人回答,但我使用 > 的原因是css只会应用于孩子.corner 样式类,是滚动条的直接后代
    • 是的,编辑后效果很好,非常感谢!!
    • “我强烈推荐 Scene Builder 及其 CSS 分析器” - 毫无疑问是理解 JavaFX CSS 的最佳工具,感谢您的提示 - 在 Google 搜索后保存 Google 搜索以查找要编辑的正确 CSS .
    猜你喜欢
    • 2019-05-15
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多