gpt4 book ai didi

java - 如何加载 *.jar 文件之外的 FXML 文件

转载 作者:行者123 更新时间:2023-12-01 10:07:26 25 4
gpt4 key购买 nike

这是我在 Stack 上的第一篇文章,我一直在寻找问题的答案,但没有找到任何有用的东西。我正在学习 Java,所以要温柔一点;)

我的问题是,我不想用“jar”中的所有内容制作一个文件。我必须加载 FXML 文件,该文件不在 *.jar 文件中。例如:我正在制作位于 JavaFXMLApplication 文件夹中的 FXML 文件,我运行“JavaFXApplication.jar”文件,并且该应用程序使用我刚刚制作的 FXML。

我希望我能描述清楚:)

编辑:我找到了另一种解决方案,它对我来说效果更好......

    File file = new File("absolutPathToFile\\FXMLDocument.fxml");
InputStream is = new BufferedInputStream(new FileInputStream(file));

Pane root = new Pane();

FXMLLoader loader = new FXMLLoader();
try
{
root = loader.load(is);

}
catch (IOException ex)
{
System.out.println(ex);
}

希望对大家有帮助

干杯:)

最佳答案

您可以从任何地方加载 FXML 文件。一种可能性是使用将 URL 作为参数的 load 命令。您可以像这样轻松获取该 URL:

    try {
File file = new File("../../FXMLDocument.fxml");
if (file.canRead()) {
URL url = file.toURI().toURL();
Pane root = FXMLLoader.load(url);
} else {
System.err.println("File does not exist.");
}
} catch (IOException e) {
e.printStackTrace();
}

关于java - 如何加载 *.jar 文件之外的 FXML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36348880/

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