Java 按钮的css样式不起作用

Java 按钮的css样式不起作用,java,css,javafx,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-re

我有一个极其琐碎的案子。我有一个按钮,我想添加一个图标到这个按钮。项目的文件结构如下所示:

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");

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

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

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

然后您可以像上面那样分配类。

您还应该添加样式表

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