gpt4 book ai didi

JavaFX JAR 工件添加媒体导致主类错误

转载 作者:行者123 更新时间:2023-12-02 01:47:55 24 4
gpt4 key购买 nike

如果我添加一些媒体(图片和/或声音),我的 JavaFX 工件将不会启动。

我正在使用 macOS 和 IntelliJ。从终端启动 .jar 将返回“错误:无法找到或加载主类”。但是,这种情况仅发生在我存储在变量中但尚未包含的图片(例如 PlayerIcon)中,因此这不是一个明显的问题。

我安装了 Java 8,因为 Java 10、11 和 12 遇到了很多问题。在 IntelliJ 内部,项目正常启动,只是导出的 .jar 受到该问题的影响。我是 JavaFX 新手,我没有包含 FXML 文件。也许这就是问题所在?

这是我如何包含一张图像的代码片段:

Image Scoreboard = new Image(getClass().getResourceAsStream("Scoreboard.png"));
ScoreBoardContainer.setImage(Scoreboard);
Group root = new Group();
root.getChildren().add(ScoreBoardContainer);
Scene GameUI = new Scene(root, w, h);

感谢您的帮助!

更长的代码片段:

package sample;
import ...

public class Main extends Application {

...variables...

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

@Override
public void start(Stage primaryStage) {

final ImageView HintergrundMuster = new ImageView();
final ImageView ScoreBoardContainer = new ImageView();
Image HG = new Image(getClass().getResourceAsStream("space-background.png"));
Image PlanetBraun = new Image(getClass().getResourceAsStream("Planet.png"));
Image Scoreboard = new Image(getClass().getResourceAsStream("Scoreboard.png"));

HintergrundMuster.setImage(HG);
ScoreBoardContainer.setImage(Scoreboard);

AudioClip SprungSound = new AudioClip(new File("jump.mp3").toURI().toString());
SprungSound.play(0);

Canvas canvas = new Canvas(b,h);
Vordergrund = canvas.getGraphicsContext2D();

Group root = new Group();
root.getChildren().add(HintergrundMuster);
root.getChildren().add(canvas);
root.getChildren().add(ScoreBoardContainer);

Scene GameUI = new Scene(root, b, h);

primaryStage.setTitle(„Test“);
primaryStage.setScene(GameUI);
primaryStage.show();
...

最佳答案

我刚刚找到了问题的解决方案。不管怎样,感谢您的帮助!

我忽略了我的一些文件具有 .PNG 格式,而其他文件具有 .png。对于 IntelliJ 来说,这并不重要,但对于 JAR 编译器来说,这显然很重要。

此外,我的音频文件有问题,因此我将它们复制到我的“样本”文件夹中并稍微更改了代码。以下片段对我有用:

 AudioClip SprungSound = new AudioClip(this.getClass().getResource("jump.mp3").toString());

关于JavaFX JAR 工件添加媒体导致主类错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57444963/

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