gpt4 book ai didi

java - 如何在java swing中提供资源的路径

转载 作者:行者123 更新时间:2023-12-01 22:59:03 25 4
gpt4 key购买 nike

要给出资源的路径,例如:- 图像,在 javafx 中,我们可以这样做:-

ImageView imgView_btnEndCall = new ImageView(new Image("/clientgui/image/callend.png"));

但是要为 swing 中的资源提供路径,以下代码可以工作

FileInputStream fis = new FileInputStream("src/soundtest/sound/sound.wav");

我发现的区别是必须将“src”放入 swing 中。当我从 dist 文件夹运行 jar 文件时,swing 程序不起作用,但 javafx 程序起作用。问题是因为 jarfile 压缩了项目,包括所有包和文件。当javafx程序尝试访问某些资源时,它能够访问clientgui文件夹内图像文件夹内的callend.png文件。但是 swing 应用程序无法访问,因为我们在代码中给出了“src”文件夹。如何解决问题。如何在swing中包含资源目录,以便jar文件可以访问资源。

最佳答案

不要使用FileInputStream,使用ClassLoader,例如

getClass().getResourceAsStream("sound/sound.wav");

这将从 jar 中包含的目录结构加载文件。创建 jar 后,src 文件夹将不再存在,它们将成为嵌入式资源(感谢 @AndrewThompson 的流行语)。

阅读此问题的更多内容:Embedding resources (images, sound bits, etc) into a Java project then use those resources

关于java - 如何在java swing中提供资源的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23605840/

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