Javafx css按钮图形调整大小

时间:2016-03-08 11:29:50

标签: java css javafx

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

这是我到目前为止所做的事情:

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

}

但这不适合我。

2 个答案:

答案 0 :(得分:3)

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

您可以从this link

访问BackgroundSize的javadoc
.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;
}

见行动

使用-fx-graphic

Button with -fx-graphic

-fx-background-image-fx-background-size

一起使用

Button resized with -fx-background-size

答案 1 :(得分:1)

我知道这个问题是关于css的,但对于那些希望用java代码执行此操作并找到此线程的其他程序员,这是我使用java代码执行此操作的解决方案。 (而不是问一个新问题)

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