style.css文件
* {
-color : #00A0B1;
-white : #F5F5F5;
-gray : #95A5A6;
-darkGray : #7F8C8D;
-black : #2C3E50;
-abort : #7F8C8D;
}
.root{
-fx-background-color : -white;
-fx-fill-width : true;
-fx-color : -color;
-fx-fill-width : true;
-fx-font-family: 'Segoe UI';
-fx-focus-color : transparent;
-fx-faint-focus-color: transparent;
}
我希望制作一个调色板,以便可以改变-color变量.有没有办法用javafx控制器更改变量?非常感谢
最佳答案 您全局定义的颜色(-color,-white,-gray等)称为“查找颜色”(参见
documentation).您可以使用内联样式在运行时更改查找颜色的值.例如.:
root.setStyle("-color: #ffff00 ;")
将-color的值设置为黄色,用于root及其包含的所有节点,除非它们具有分配给它们的特定值(在CSS的语言中,查找颜色是继承的).
请注意,您的CSS会将查找的颜色值直接分配给所有节点(因为所有节点都与选择器*匹配).所以你可能只想在根节点上定义那些,这样节点就会继承任何动态应用的值:
.root {
-color : #00A0B1;
-white : #F5F5F5;
-gray : #95A5A6;
-darkGray : #7F8C8D;
-black : #2C3E50;
-abort : #7F8C8D;
-fx-background-color : -white;
-fx-fill-width : true;
-fx-color : -color;
-fx-fill-width : true;
-fx-font-family: 'Segoe UI';
-fx-focus-color : transparent;
-fx-faint-focus-color: transparent;
}