如何更改由Scene Builder制作的按钮的颜色?

问题描述 投票:0回答:2

我在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");
        }
}

}

java javafx scenebuilder
2个回答
1
投票

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

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

这样做了。


0
投票

您可以直接通过属性更改按钮颜色,而不是操纵样式。

以下是将按钮中的文本更改为红色的示例:

button.setTextFill(Color.RED);

这将改变背景颜色:

button.setBackground(new Background(new BackgroundFill(Color.RED, null, null);
© www.soinside.com 2019 - 2024. All rights reserved.