0
这是我在Stack上的第一篇文章,我一直在寻找关于我的问题的答案,但是我没有找到任何有用的东西。 我在学习Java,所以要温柔;)如何加载超出* .jar文件的FXML文件
我的问题是,我不想让一个文件的所有内容在“jar”中。我必须加载FXML文件,该文件不在* .jar文件中。 例如: 我正在制作FXML文件,它位于我的JavaFXMLApplication文件夹中,我运行“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);
}
我希望这会帮助别人
Cheers :)
我觉得这个问题要取出来FXML罐子的,而不是作为一个单独的文件(在这种情况下[getResource()方法(HTTP://计算器。 com/a/19603055/1155209)将是更适用的例子)。 – jewelsea
嗯,重新阅读这个问题,也许我解释错了,提问者确实想要加载一个不在jar中的fxml文件。 Stackoverflow不会让我逆转downvote :( – jewelsea
我得到例外,当我用这样的: File file = new File(“../../ FXMLDocument.fxml”); String url = file。 toURI()。toURL()。toExternalForm(); Pane root = FXMLLoader.load(getClass()。getResource(url)); 我在做什么错? – Regemaster