2015-06-10 32 views
1

在我FXML文件我有以下代碼:如何用Java FX設置anchorpane的背景顏色與CSS

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="header-bar" stylesheets="@standards.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 

我的CSS是這樣的:

.header-bar 
{ 
-fx-background-color: blue; 
} 

然而,這不會改變顏色。但是,如果我將FXML更改爲內聯完全相同的內容,那麼它就可以工作。

奇怪的是我的其他樣式相同FXML文檔中正確應用。

任何幫助將不勝感激。

我使用SceneBuilder來創建屏幕原型,並且需要能夠依賴CSS應用程序。

謝謝!

+0

它在SceneBuilder中顯示背景顏色嗎? – ItachiUchiha

+0

僅限於直接設置。如果我使用CSS,它不會。 –

+0

請注意,內聯樣式將覆蓋任何樣式類規則 – DrAhmedJava

回答

3

在你FXML文檔,設置id(**not fx:id**),然後在你的CSS文件中使用:

#your_id { 
-fx-background-color: blue; 
} 

你的情況更新FXML看起來像這樣:

<AnchorPane id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="header-bar" stylesheets="@standards.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 

和css文件:

#anchor { 
-fx-background-color: blue; 
}