【问题标题】:change css variable javafx color更改 css 变量 javafx 颜色
【发布时间】:2017-08-03 04:01:46
【问题描述】:

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 控制器更改变量?非常感谢

【问题讨论】:

    标签: java css javafx


    【解决方案1】:

    您已全局定义的颜色(-color-white-gray 等)称为“查找颜色”(请参阅​​documentation)。您可以使用内联样式在运行时更改查找颜色的值。例如:

    root.setStyle("-color: #ffff00 ;") 
    

    将为root 及其包含的所有节点将-color 的值设置为黄色,除非这些节点具有分配给它们的特定值(在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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 2022-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多