2016-11-22 37 views
1

我有這樣的代碼:文本的CSS樣式沒有出現白色

private void createAndAddCommonInformationSection(){ 
    Text text = new Text("CommonText"); 
    gridPane.add(header); 
} 

的應該會出現在白色的顏色,所以我有一個CCS文件如下:

.root { 
-fx-base: rgb(50, 50, 50); 
-fx-background: rgb(50, 50, 50); 
-fx-control-inner-background: rgb(50, 50, 50); 
} 

.tab { 
-fx-background-color: linear-gradient(to top, -fx-base, derive(-fx-base,30%)); 
} 

.menu-bar { 
-fx-background-color: linear-gradient(to bottom, -fx-base, derive(-fx-base,30%)); 
} 

.tool-bar:horizontal { 
-fx-background-color: 
linear-gradient(to bottom, derive(-fx-base,+50%), derive(-fx-base,-40%), derive(-fx-base,-20%)); 
} 

.button { 
-fx-background-color: transparent; 
} 

.button:hover { 
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; 
-fx-color: -fx-hover-base; 
} 

.table-view { 
-fx-table-cell-border-color:derive(-fx-base,+10%); 
-fx-table-header-border-color:derive(-fx-base,+20%); 
} 

.split-pane:horizontal > * > .split-pane-divider { 
-fx-border-color: transparent -fx-base transparent -fx-base; 
-fx-background-color: transparent, derive(-fx-base,20%); 
-fx-background-insets: 0, 0 1 0 1; 
} 

.my-gridpane { 
-fx-background-color: radial-gradient(radius 100%, derive(-fx-base,20%), derive(-fx-base,-20%)); 
} 

.separator-label { 
-fx-text-fill: orange; 
} 

.text{ 
-fx-text-fill: white; 
} 

一切都很是使用CSS文件工作正常,除了我的代碼段中的文本顏色不會以預期的顏色顯示。

我已經嘗試

-fx-fill: white; 

-fx-fill-text: white; 

,但沒有什麼幫助。

我在做什麼錯?

+0

@Rinin猜測這與問題中的'javafx'有關。 – sevenseacat

+0

@Rounin閱讀[文檔](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#intronaming):「命名慣例已經建立用於派生JavaFX類名稱中的CSS樣式類名稱以及從JavaFX變量名稱派生CSS屬性名稱......將JavaFX變量名稱映射到CSS屬性名稱的約定與添加'-fx-'前綴相似。 「 –

回答

0

根據documentationText節點沒有默認樣式類。所以你需要

text.getStyleClass().add("text"); 

爲了讓文本節點匹配CSS選擇器。然後

.text { 
    -fx-fill: white ; 
} 

將工作。

通常,如果你想用CSS樣式它,雖然手動添加的樣式類到Text節點應該工作,你會使用一個Labelfx-text-fill財產一起。

+0

我希望避免將所有內容都改爲標籤(這是現有的代碼 - 不是我自己的代碼)。出於某種原因,此代碼根本不使用任何標籤。 :( – Marco

+0

@Marco這聽起來很有趣...我會讓你評估是否更容易手動添加一堆樣式類,或者將所有'Text'實例更改爲'Label's ... –

+0

什麼是混亂!在代碼本身中有一些樣式,CSS做了一些樣式,我想我會在今天關閉Eclipse並重新思考這個問題以找到一個合適的解決方案,不管他做了什麼,他都不知道他在做什麼,假設。 – Marco