首页 > 解决方案 > 如何更改从 Scene Builder 制作的按钮的颜色?

问题描述

我在 SceneBuilder 上制作了几个按钮(每个按钮代表一个城市)。我需要根据每个城市的房屋数量来设置它们的颜色。较深表示更多属性,较浅表示较少(红色)。

我在场景构建器上为每个按钮分配了一个 fx:id 并在我的代码中调用它,但我不确定如何使用 javafx 代码更改它的颜色。

有人可以帮帮我吗,我对 Javafx 很陌生。

@FXML private Button b1 = new Button();

首先我试图测试颜色是否真的会改变,但它不会改变

@FXML
private void test() {
    for (House s: list) {   
        if(s.getHouse().equals("Manchester") > 10000) {                
            DropShadow s = new DropShadow();
            b1.setEffect(s);        
            b1.setStyle("fx-background-color: #FF0000");
        }
}

}

标签: javajavafxscenebuilder

解决方案


正如 c0oder 指出的那样,这是一个简单的错误。

更改b1.setStyle("fx-background-color: #FF0000");b1.setStyle("-fx-background-color: #FF0000");

这成功了。


推荐阅读