gpt4 book ai didi

image - JavaFX 按钮背景图像

转载 作者:行者123 更新时间:2023-12-05 08:57:43 24 4
gpt4 key购买 nike

我在 JavaFX 的按钮上设置 backgroundImage 时遇到问题。

Image newGame = new Image("File:/CSS/nova_hra.png");
BackgroundImage newGameBgr = new BackgroundImage(newGame, null, null, null, null);

Button buttonNewGame = new Button("Nová Hra");
Button buttonLoadGame = new Button("Načíst Hru");
Button buttonStatistics = new Button("Statistiky");
Button buttonExit = new Button("Konec");

buttonNewGame.setGraphic(new ImageView(newGame));
//buttonNewGame.setBackground(new Background(newGameBgr));

buttonExit.setMinHeight(40);
buttonLoadGame.setMinHeight(40);
buttonNewGame.setMinHeight(40);
buttonStatistics.setMinHeight(40);

buttonExit.setMinWidth(120);
buttonLoadGame.setMinWidth(120);
buttonNewGame.setMinWidth(120);
buttonStatistics.setMinWidth(120);

这对 buttonNewGame 没有任何作用。每次我尝试用这个加载图像时

Image image = new Image(getClass().getResourceAsStream("a.png"));

我遇到了运行时异常。当我使用

Image image = new Image(getClass().getResourceAsStream("a.png"));

整个图像消失了。

最佳答案

您可以通过 css 来完成。如果您的 background.jpg 在包测试中,只需执行以下操作:

    package testing;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class Main extends Application {

@Override
public void start(Stage primaryStage) {

try {

Pane root = new Pane();

Button button = new Button( "Click me!");
button.setStyle("-fx-background-image: url('/testing/background.jpg')");

root.getChildren().add(button);

Scene scene = new Scene(root, 800, 400);
primaryStage.setScene(scene);
primaryStage.show();

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}
}

如果你不想使用css,你可以这样做:

        BackgroundImage backgroundImage = new BackgroundImage( new Image( getClass().getResource("/testing/background.jpg").toExternalForm()), BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT);
Background background = new Background(backgroundImage);

Button button = new Button( "Click me!");
button.setBackground(background);

关于image - JavaFX 按钮背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29984228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com