Как изменить цвет кнопок из Scene Builder? - PullRequest
0 голосов
/ 27 марта 2019

Я сделал несколько кнопок (каждая представляет город) на 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");
        }
}

}

Ответы [ 2 ]

1 голос
/ 28 марта 2019

Как указал c0oder, это была простая ошибка.

Изменить b1.setStyle("fx-background-color: #FF0000"); на b1.setStyle("-fx-background-color: #FF0000");

Это добилось цели.

0 голосов
/ 27 марта 2019

Вы можете изменить цвет кнопок непосредственно через свойство, а не манипулировать стилем.

Вот пример изменения текста в кнопке на красный:

button.setTextFill(Color.RED);

Это будетизменение цвета фона:

button.setBackground(new Background(new BackgroundFill(Color.RED, null, null);
...