【问题标题】:JavaFx & CSS: white line in the popup component of a ComboBoxJavaFx & CSS:组合框弹出组件中的白线
【发布时间】:2016-04-28 19:04:00
【问题描述】:

我对 ComboBox-Popup 的 CSS 属性有疑问。在图片中,您会看到圆角边框和列表单元格元素之间有一条细小的白线。 我认为这条线是来自其他 css 属性的背景颜色或边框。 您知道我必须更改哪个 css 属性吗?

这张图片在右侧向您展示了我的白线问题。在左侧,您会看到一个没有任何线条的菜单栏。

在此屏幕截图中,我删除了所有组合框 css 属性,您可以看到所选单元格的边框之间有一个间隙。

这是我的样式表的 css 组合框属性。

-fx-base and fx-color = dark grey background color
-fx-accent = green hover and highlight color.

 .combo-box-popup .list-view {
    -fx-color: -fx-base;
    -fx-background-color:
        derive(-fx-color,-40%),
        derive(-fx-color,100%),
        linear-gradient(to bottom, derive(-fx-color, 15%) 0%, derive(-fx-color, 40%) 15%, derive(-fx-color,55%) 75%, derive(-fx-color,15%) 100%);
  
   -fx-background-insets: 0, 1, 2;
   -fx-background-radius: 0 6 6 6, 0 5 5 5, 0 4 4 4;
   -fx-padding: 0.333333em 0.333333em 0.666667em 0.083333em; 
   
}.combo-box-popup .list-view .list-cell:filled {
    -fx-background-color: transparent;
    -fx-text-fill: white;
}

.combo-box-popup .list-view .list-cell:filled:hover {
    -fx-background-color: -fx-accent;
}

.combo-box-popup .list-view .list-cell:filled:selected {
    -fx-background-color: -fx-accent;
}

【问题讨论】:

  • 使用ScenicView检查您的应用程序并咨询docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html以查找要更改的相关CSS元素。
  • @hotzst 在这种情况下这实际上很棘手:iirc 如果您尝试在风景视图中扩展树视图以查看组合框的场景图,因为您将焦点从它关闭的组合框上移开,因此弹出窗口从场景图中删除(因此从风景视图中......)。
  • @James_D 没错。这就是为什么我现在使用带有简单“不要删除弹出实现”的 Scenic View 源。我还没有找到解决办法。
  • 这个确切的问题之前已经在这里发布过,并得到了回答。我现在找不到了。 IIRC 它是列表视图下的内容窗格的一些微妙配置(请记住列表视图中的单元格放置在滚动窗格中......)。所以我认为白线是组合弹出窗口中使用的列表视图的虚拟流之类的背景,或者沿着这些线......

标签: css javafx properties combobox


【解决方案1】:

我找到了解决方案。未设置列表视图的透明度。

.combo-box-popup .list-view .list-cell {
-fx-background-color: transparent;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2019-08-23
    • 2017-02-08
    相关资源
    最近更新 更多