2017-06-05 16 views
1

如果定義的CSS是平原,現場建設者呈現與定義的樣式的控制......如果CSS自定義顏色常量用於的Java FX場景建設者不承認的CSS自定義顏色常量(或變量)

但,現場建設者呈現控件白...

當我運行應用程序,風格被正確應用(這是由JavaFX庫完成)的場景

注:鏈接CSS文件與preview > Scene StyleSheets > add a StyleSheet暗示,這就是爲什麼基本樣式表(沒有CSS顏色常量)正在工作。

我的問題是:

我如何讓它(場景生成器)瞭解CSS(顏色常量)樣式

 

CSS:

.root { 
    -color1: #1BA1E2; 
    -color2: #F8F8F8; 

    -primary-color: -color1; 
    -secondary-color: -color2; 
} 

.windowbox { 
    -fx-border-radius: 50 0 50 0; 
    -fx-background-radius: 50 0 50 0; 
    -fx-background-color: -primary-color; 
} 

.lbl { 
    -fx-background-color: derive(-primary-color, -10%); 
    -fx-text-fill: -secondary-color; 
} 

以上的CSS執行過程中完美的作品(在運行時),但現場建設者是渾然不覺的樣式

回答

1

在場景生成器,選擇預覽,然後場景樣式表,然後添加樣式表,如描述爲here。然後選擇你的.css文件。要獲得更多信息,請使用CSS分析器功能。

而且,因爲你的示例使用CSS 類選擇( 「 」)時,一定要引用的FXML樣式類(例如,的styleClass =「 LBL」)。

或者,您可以使用css ID選擇器(「#」)。採用這種方法,您可以在fxml中指定一個id(id =「lbl」)。或者你可以省略你的fxml中的id屬性,默認情況下fx:id值將被用作css id選擇器(fx:id =「lbl」)。

一些信息herehere

+0

我這樣做......這是基本的事情......當我使用普通的樣式,'-fx-background-color:red'它工作正常......但是當我使用CSS自定義常量'原色:紅; -fx-background-color:-primary-color;'它不呈現樣式(紅色) –

+0

有趣。當我自己嘗試時,顏色在SceneBuilder中生效。 –

+0

您的fxml控件是否引用css樣式類(styleClass =「lbl」)? –