java - 按钮的 css 样式不起作用

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

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

最佳答案

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

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

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

关于java - 按钮的 css 样式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970420/

相关文章:

javascript - div 在位置 :fixed and position:absolute during scrolling 之间移动

java - 如何在 javafx 中正确缩放控件和布局

java - 双向@OneToOne级联问题JPA/Hibernate/Spring-Data

java - MVC 中通过线程从内部类调用外部类

Java - 找不到构造函数?

java - DateCell 在应用 "selected"样式后没有改变

JavaFX 改变场景而不是舞台

java - 为什么我应该将 Boolean 作为参数而不是 "boolean"传递?

javascript - 为什么 Web Animation API reverse() 会导致我的动画跳跃?

javascript - IE 10 不会在文本输入上重新应用填充