2016-11-10 70 views
0

一套顏色我有這樣的代碼tablecells在我的.css文件:JavaFX的8所選擇的TableRow

.table-cell-warn 
{ 
    -fx-background-color: aliceblue; 
} 

.table-cell-error 
{ 
    -fx-background-color: yellow; 
} 

我已經通過添加這些CSS類特定TableCells。​​或o.getStyleClass.add("table-cell-error")

但是,當我現在選擇一個彩色的TableRow時,它不會使用爲選定的TableRows指定的顏色(默認爲淺藍色)。我嘗試添加如下代碼:

.table-cell-warn:selected 
{ 
    -fx-background-color: #0096C9; 
    -fx-accent: #0096C9; 
    -fx-focus-color: #039ED3; 
} 

.table-cell-error:selected 
{ 
    -fx-background-color: #0096C9; 
    -fx-accent: #0096C9; 
    -fx-focus-color: #039ED3; 
} 

到.css文件,但它沒有改變。我是否也必須在Java代碼中更改某些內容?或者我走錯了路。

回答

0

TableView處於「行選擇模式」,這就是爲什麼:selected僞類被添加到包含TableCellTableRow。下面的CSS應該可以工作:

/* for row selection mode */ 
.table-row-cell:selected .table-cell-warn, 
.table-row-cell:selected .table-cell-error, 
/* for cell selection mode */ 
.table-cell-warn:selected, 
.table-cell-error:selected 
{ 
    -fx-background-color: #0096C9; 
    -fx-accent: #0096C9; 
    -fx-focus-color: #039ED3; 
}