【问题标题】:JavaFX - Remove blue line between columns in TableViewJavaFX - 删除 TableView 中列之间的蓝线
【发布时间】:2018-07-10 12:57:00
【问题描述】:

我的 javafx 应用程序有一个 css 深色主题。一切都很好,除了一件事:选择项目时表格视图中的列之间的蓝线:

这是我的 css 文件的样子:

.table-view {
    -fx-base: #1d1d1d;
    -fx-background-color: #1d1d1d;
    -fx-control-inner-background: #1d1d1d;
    -fx-table-cell-border-color: transparent;
    -fx-table-header-border-color: transparent;
    -fx-padding: 5;
}

.table-view .column-header-background {
    -fx-background-color: transparent;
}

.table-view .column-header, .table-view .filler {
    -fx-size: 35;
    -fx-border-width: 0 0 1 0;
    -fx-background-color: transparent;
    -fx-border-color: transparent transparent derive(-fx-base, 80%) transparent;
    -fx-border-insets: 0 10 1 0;
}

.table-view.column-header-background {
    -fx-background-color: transparent;
}

.table-view .column-header .label {
    -fx-font-size: 20;
    -fx-font-family: "Segoe UI Light";
    -fx-text-fill: white;
    -fx-alignment: center-left;
    -fx-opacity: 1;
}

.table-view:focused .table-row-cell:focused {
    -fx-border-color: derive(-fx-base, 20%);
    -fx-background-insets: 0 0 0 0;
}

.table-view:focused .table-row-cell:selected {
    -fx-background-color: derive(-fx-base, 20%);
    -fx-background-insets: 0 0 0 0;
}

【问题讨论】:

    标签: java css javafx


    【解决方案1】:

    您应该将-fx-table-cell-border-color: transparent; 添加到您的CSS 中。 要么创建一个新规则,例如:

    .table-row-cell {
        -fx-table-cell-border-color: transparent;
    }
    

    或者直接添加到.table-view:focused .table-row-cell:focused:

    .table-view:focused .table-row-cell:focused {
        -fx-border-color: derive(-fx-base, 20%);
        -fx-background-insets: 0 0 0 0;
        -fx-table-cell-border-color: transparent;
    }
    

    结果:

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      相关资源
      最近更新 更多