在代码

时间:2015-08-17 08:53:07

标签: css override javafx-8

是否可以在代码中覆盖JavaFX CSS定义?

例如,在我的CSS文件中,我按如下方式定义了按钮的高度:

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

当我尝试为代码中的某个按钮覆盖此高度时...

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

...按钮的高度仍为30像素。

1 个答案:

答案 0 :(得分:3)

有两种解决方案:

  1. 确保在button.setPrefSize(100, 50); // width, height可见后调用Button
  2. 使用Bindings强制其大小(CSS不会覆盖绑定值),例如:button.prefHeightProperty().bind(new SimpleDoubleProperty(60));