【问题标题】:JavaFX - How to remove ListView & TableView's bands?JavaFX - 如何删除 ListView 和 TableView 的乐队?
【发布时间】:2020-05-01 22:45:54
【问题描述】:

我正在以默认样式将 JavaFX ListViews 和 TableViews 添加到我的应用程序中。

奇数行有白色背景,偶数行有灰色背景。 我不喜欢那些乐队,尤其是在无人居住的行。

我使用 fxid:list_PayMethod 在我的 ListView 上尝试了以下 CSS 设置,但没有帮助。

(此页面无法将 fxid 识别为代码的一部分,因此它不在灰色框内,请注意。)

#list_PayMethod {

    .list-cell:odd {
        -fx-padding: 0px;
        -fx-control-background: #F4F4F4;
        -fx-control-inner-background: #F4F4F4;
    }

    .list-cell:even {
        -fx-padding: 0px;
        -fx-control-background: #F4F4F4;
        -fx-control-inner-background: #F4F4F4;
    }

    .list-view:focused .list-cell:focused:odd {
        -fx-padding: 0px;
        -fx-control-background: #F4F4F4;
        -fx-control-inner-background: #F4F4F4;
    }

    .list-view:focused .list-cell:focused:even {
        -fx-padding: 0px;
        -fx-control-background: #F4F4F4;
        -fx-control-inner-background: #F4F4F4;
    }
}

有什么方法可以设置全部为写或全部为灰色?

谢谢!

【问题讨论】:

    标签: java css listview javafx tableview


    【解决方案1】:

    -fx-control-background 替换为-fx-background-color 就足够了。

    .list-cell {
        -fx-background-color: #F4F4F4;
    }
    

    【讨论】:

    • 确保您使用的是正确的 ID。 list_PayMethod 是什么?是你的控制器还是 ListView
    • 你还有什么改变吗?
    • 我删除了#list_PayMethod {},然后它就可以工作了,但这又产生了另一个问题,因为我不希望组合框受到影响。如果我要配置的ListView的fxid是list_PayMethod,代码应该是什么?
    • 您应该使用样式类。 list.getStyleClass().add("one-color-list"); 然后在你的 css 文件中:.one-color-list .list-cell { -fx-background-color: #F4F4F4; }
    • 还有一个问题要问... 之前选中行时,背景会变成蓝色,文本会变成白色。但现在因为背景总是灰色的。白色文本变得难以阅读。我尝试添加“-fx-text-fill: black;”但选择时字体颜色保持白色
    猜你喜欢
    • 2014-04-29
    • 2014-10-21
    • 2019-02-26
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    相关资源
    最近更新 更多