JavaFXCSS按钮图形大小调整

JavaFXCSS按钮图形大小调整,java,css,javafx,Java,Css,Javafx,我想更改按钮内图标的大小。 该图像的大小为512 x 512,我想调整为16x16。 那么,使用JavaFXCSS实现这一点的最佳方法是什么呢 以下是我迄今为止所做的工作: #btnCancel.button { -fx-graphic: url("/img/close.png") ; -fx-graphic-size:16px 16px ; ( I think this property not exist in javafx css) } 但这对我不起作用。我不知道有任何

我想更改按钮内图标的大小。 该图像的大小为512 x 512,我想调整为16x16。 那么,使用JavaFXCSS实现这一点的最佳方法是什么呢

以下是我迄今为止所做的工作:

#btnCancel.button {
    -fx-graphic: url("/img/close.png") ;
    -fx-graphic-size:16px 16px ; ( I think this property not exist in javafx css)

}
但这对我不起作用。

我不知道有任何css属性可以直接用于设置
-fx图形的大小,但您可以使用
-fx background image
属性获得类似的结果。这将允许您使用
-fx background size
设置宽度和高度值

您可以从中访问
BackgroundSize
的javadoc

见效

使用
-fx图形

使用
-fx背景图像
-fx背景大小


我知道这个问题是关于css的,但是对于那些想用java代码来做这件事并找到这个线程的程序员来说,下面是我用java代码来做这件事的解决方案。(而不是问一个新问题)


这没有一个可接受的答案,但它可能会帮助您。处理此问题的最佳方法是提供一个16x16图标,而不是512x512图标。这是否回答了您的问题@kleopatra有多个问题可以使用此代码作为答案是。如果有人想使用java代码,这是一个可能的解决方案。是的,但不是这里的要求:使用javaFX CSSI实现这一点的最佳方法是什么?我明白你的意思,非常感谢你的帮助。我在寻找一个解决方案,就像我在回答这个问题时提供的一样,所以我教大家也许还有其他人可能会出现在这里,他们希望展示所有可能的解决方案,并选择适合他们的解决方案。不要问新问题。请不要感到气馁-欢迎帮助:)在以后的回答中,只需专注于问题。
.logButton {
    /*
    -fx-graphic: url(images/log2.png);
    -fx-graphic-size:16px 16px;
    */
    -fx-background-image: url(images/log2.png);
    -fx-background-size: 64px 64px;
    -fx-background-repeat: no-repeat;
    -fx-background-position: center;
}
Platform.runLater(() -> {
    InputStream input = getClass().getResourceAsStream("/resources/images/close-512x512.png");
    //set the size for image
    Image image = new Image(input, 16, 16, true, true);
    ImageView imageView = new ImageView(image);            
    myButton.setGraphic(imageView);
});