我有一個實現自定義ProgressBar的對象。有時我希望酒吧的曲目有白色,有時候我想讓它變成黑色。我發現,可以通過設置它的默認值在我的.css文件如下:我可以使用setStyle()直接更改Node的子結構類樣式嗎?
.my-bar .track {
-fx-background-color: bar-default-color;
}
我希望我可以改變的基礎上的價值設置通過構造函數的顏色。但儘管谷歌搜索了它,我還沒有找到一個例子,其中使用Node.setStyle()來更改子結構類的樣式。直接在ProgressBar對象上調用setStyle(「 - fx-background-color:desired-color」)會創建與我想要的不匹配的奇怪顏色。我相信那是因爲我需要將它設置在.track子結構而不是父類。那麼,如何通過代碼訪問並更改它?
起初這不起作用,但它開始後,我從我的CSS文件中刪除了-fx-background-color行。這就是說,這不是一個完美的解決方案。我希望軌跡欄是一個單一的純色(我爲每個3 CSS屬性使用相同的顏色)。但使用你的方法,尤其是白色和其他較淺的顏色,有一個小的但明顯的漸變效果。毫無疑問,這來自於modena.css中的線性梯度派生線。當我在我的css中設置-fx-background-color時,它將覆蓋它。但通過你的方法,我們正在使用包含漸變的模式規則。 –