【问题标题】:JavaFX ListCell selected colorJavaFX ListCell 选择的颜色
【发布时间】:2016-06-29 14:07:52
【问题描述】:

我正在尝试使用 CSS 更改 ListView 中选定项目的颜色。

.contact-list-cell:selected {
    -fx-background-color: green;
}
.list-view:focused .contact-list-cell:selected {
    -fx-background-color: green;
}

但它仅在父 ListView 失去焦点时才有效。

我知道标准 JavaFX Caspian 主题使用 .list-view:focused .list-cell:focused:selected:etc{...} 选择器。但我就是找不到能做到这一点的简单组合。

【问题讨论】:

    标签: css listview javafx javafx-8


    【解决方案1】:

    默认样式表 modena.css 根据“查找颜色”定义颜色。更改样式的最佳方法是覆盖这些查找颜色的定义:

    .list-view {
        -fx-selection-bar:green ;
    }
    

    将更改选定的焦点颜色。如果您还想在未聚焦时更改选择颜色,您可以这样做

    .list-view {
        -fx-selection-bar:green ;
        -fx-selection-bar-non-focused: green ;
    }
    

    【讨论】:

      【解决方案2】:

      与往常一样,查看实际来源比阅读文档更好。在 JavaFX 8 caspian.css 我找到了解决方案:

      .list-view:focused > .virtual-flow > .clipped-container > .sheet > .contact-list-cell:focused {
          -fx-background-color: green;
      }
      

      【讨论】:

      • caspian.css 不是 JavaFX 8 中使用的样式表:您应该参考 modena.css。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 2015-05-28
      • 2013-09-27
      • 1970-01-01
      • 2017-06-25
      • 2020-01-15
      • 2019-11-22
      相关资源
      最近更新 更多