JavaFx8表,行选择:如果表视图没有焦点,则更改颜色

时间:2016-01-16 15:07:28

标签: javafx

如果表格视图没有焦点,如何更改行选择颜色?我希望如果焦点丢失,颜色不会改变。

我的用例是我有一个JavaFx对话框,其中嵌入了表视图。行选择可能受热键影响。如果用户按下热键,行选择会更改,我将焦点设置为对话框的“确定”按钮。这样可行,但行选择突出显示颜色看起来不太好。

1 个答案:

答案 0 :(得分:1)

在外部CSS文件中,执行

.table-row-cell:filled:selected, .table-row-cell:filled > .table-cell:selected {
    -fx-background: -fx-selection-bar;
    -fx-table-cell-border-color: derive(-fx-selection-bar, 20%);
}

或者

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

当然您可以使用后一版本将非聚焦选择设置为您选择的任何颜色。

(您也可以使用

直接在Java中完成
tableView.setStyle("-fx-selection-bar-non-focused: -fx-selection-bar ;"); 

但我建议将其放入CSS文件中。)