2015-08-17 4 views
1

Можно ли переопределить определение CSS JavaFX в коде?Переопределить стиль JavaFX CSS в коде

Например, в моем файле CSS я определил ВЫСОТА баттона следующим образом:

.button { 
    -fx-pref-height: 30px; 
} 

При попытке переопределить эту высоту для некоторой кнопки в коде ...

Button button = new Button(); 
button.setPrefSize(100, 50); // width, height 

.. . кнопка все еще имеет высоту 30 пикселей.

+0

Он должен работать. Можете ли вы создать [MCVE] (http://stackoverflow.com/help/MCVE)? –

+3

@Rvervuurt: Это Java, а не HTML – bikusta

+0

MCVE: http://bikusta.de/wp-content/uploads/2015/08/javafx-css-mcve.zip – bikusta

ответ

2

Есть два решения:

  1. Убедитесь, что button.setPrefSize(100, 50); // width, height вызывается после Button стали видимыми.
  2. Использование привязок, чтобы заставить его размер (CSS не перезаписывает связанные значения), например: button.prefHeightProperty().bind(new SimpleDoubleProperty(60));
+0

Второе решение работает. Я также нашел третий: button.setStyle («- fx-pref-height: 60px»); – bikusta

+0

@ bikusta Если это решит вашу проблему, пожалуйста, «примите» ответ, чтобы другие могли получить прибыль. – eckig

Смежные вопросы