【问题标题】:Javafx css button graphic resize [duplicate]Javafx css按钮图形调整大小[重复]
【发布时间】:2023-03-04 20:41:01
【问题描述】:

我想更改按钮内图标的大小。 图像大小为 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)

}

但这对我不起作用。

【问题讨论】:

标签: java css javafx


【解决方案1】:

我不知道有任何 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

-fx-background-image-fx-background-size 一起使用

【讨论】:

    【解决方案2】:

    我知道这个问题是关于 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);
    });
    

    【讨论】:

    • @kleopatra 有多个问题可以使用此代码作为答案是。如果有人想使用 java 代码,这是一个可能的解决方案。
    • 是的,但不是这里的要求:使用 javaFX CSS 实现这一目标的最佳方法是什么
    • 我明白你的意思,非常感谢你帮助我。我一直在寻找一个解决方案,就像我在遇到这个问题时提供的那样,所以我教过也许还有其他人可能会在这里结束,他们希望显示所有可能的解决方案,并选择适合他们的解决方案。而不是提出新问题。
    • 请不要灰心 - 随时欢迎帮助 :) 在未来的答案中继续关注问题。
    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 2016-04-25
    • 1970-01-01
    • 2017-03-25
    • 2014-12-16
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多