2014-10-27 72 views
1

有沒有辦法修改特定表的行選擇顏色?問題變化錶行選擇顏色

現在,我在樣式表中定義了標準的行選擇樣式,並且適用於整個應用程序中的所有表格。

.table-row-cell:selected { 
    -fx-background-color: #777777; 
} 

但是,我要求其中一個表在行選擇上顯示不同的高亮顏色。我一直在嘗試下面,但顯然它不工作。

在我的樣式表:

#lightHighlightTable .table-view .table-row-cell:selected { 
    -fx-background-color: #CCCCCC; 
} 

在我的代碼:

recordsTable.setId("lightHighlightTable"); 

有什麼,我在上面做錯了什麼?任何有關如何實現這一點的提示都非常感謝。

我使用的是JDK 1.8 b20。

謝謝。

回答

2

這將工作,因爲.table-row-cell風格類用於TableRow,不TableView

#lightHighlightTable .table-row-cell:selected { 
    -fx-background-color: #CCCCCC; 
} 
+0

不幸的是,這是不是工作壓力太大!我曾嘗試將這個ID應用到tableView和行都沒有運氣。我會看看我是否可以建立一個樣本表,如果它能工作。謝謝。 – 2014-10-27 17:41:16

+0

我已經檢查過了,它對我有用。如果你所有的tableViews都選擇了darkgray(而不是藍色),這意味着你正在加載css。如果你有一個帶有'setId(「lightHighlightTable」)的tableView'這個應該在lightgray中有行選擇。如果不是這種情況,請嘗試顯示受影響代碼的相關部分。 – 2014-10-27 17:50:25

+0

它不工作:(。然而,我想出了一個不太好的解決方案,暫時在我的rowFactory中添加一個監聽器。'tableRow.selectedProperty()。addListener((ObservableValue <?extends Boolean> observable,Boolean屬性oldValue,布爾newValue)以 - > { 如果(newValue)以{ tableRow.setStyle( 「 - FX-背景色:#BBBBBB」);} 否則{ tableRow.setStyle(空); } }); ' – 2014-10-27 18:12:39