按钮的CSS样式不起作用

时间:2015-11-28 10:43:45

标签: java css javafx

我有一个非常微不足道的案子。我有一个按钮,我想在此按钮上添加一个图标。项目的文件结构如下所示:

testpackage/
    - Test.java
    - add.gif
    - my.css

所以,这段代码工作得比较好:

Button b1 = new Button();        
b1.setStyle("-fx-background-image: url('/testpackage/add.gif');" +
            "-fx-background-repeat: no-repeat;" +
            "-fx-background-position: center;");

但我不想硬编码css样式,而是想使用my.css。此文件 - my.css - 看起来像:

.add-button {
  -fx-background-image: url('/testpackage/add.gif');
  -fx-background-repeat: no-repeat;
  -fx-background-position: center;
}

然而,当我尝试使用它时

 Button b1 = new Button();        
 b1.getStyleClass().add("add-button");

它不起作用。提前谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您必须先将样式表添加到场景中:

Scene scene = new Scene(new Group(), 500, 400);
scene.getStylesheets().add("path/stylesheet.css");

然后你可以像上面那样分配课程。

答案 1 :(得分:1)

您也应该添加样式表。

b1.getStylesheets().add(this.getClass().getResource("my.css").toExternalForm();
b1.getStyleClass().add("add-button");