获取Java中的资源
我正在尝试设置JFrame的图标图像。我不知道如何使用Toolkit.getDefaultToolkit().getImage(URL)获取要加载的图像文件作为资源 我听说过类#getResource(),但它在我的情况下不起作用,因为我的文件结构是:获取Java中的资源,java,swing,Java,Swing,我正在尝试设置JFrame的图标图像。我不知道如何使用Toolkit.getDefaultToolkit().getImage(URL)获取要加载的图像文件作为资源 我听说过类#getResource(),但它在我的情况下不起作用,因为我的文件结构是: com.faris.test.Test.class com.faris.test.Test2.class res.icon.png My Test.class是扩展JFrame的类,正在尝试获取“icon.png”,但我不确定如何获取它,因为我
com.faris.test.Test.class
com.faris.test.Test2.class
res.icon.png
My Test.class是扩展JFrame的类,正在尝试获取“icon.png”,但我不确定如何获取它,因为我的类(Test.class)位于另一个文件夹中。有什么解决办法吗?不管你的类在哪个文件夹中。您只需使用:
Test.class.getResource(“/res/icon.png”)代码>。
请确保包含“/”
在路径的开始处
你真的尝试过这个吗?好的,如果你以后以工件的形式导出,记住你必须在JAR中包含'res'文件夹。(在JAR中创建一个名为“res”的新文件夹,并将res文件夹的“目录内容”添加到该文件夹中)没关系,您甚至不必使用getResource()。仅在将getResource()导出到JAR后使用它。现在,您只需使用新文件(“res/16x16.png”)对于您的问题,是的,这就是为什么您必须首先在JAR中创建一个名为“res”的新文件夹的原因。(没有将实际目录放入的选项)我认为这不是一个好的做法(所有源代码都应该在src文件夹中)。但是,似乎src文件夹中的任何文件夹/文件都会自动编译并放入JAR,因此只需将“res”文件夹移回src文件夹即可。如果您担心JAR的根目录中存在资源,只需为其创建一个新文件夹(如图所示:)并将“资源目录内容”拖到新文件夹中。@FarisRehman如果您希望其他人可以随时使用您的源代码,请遵循Maven标准的目录布局。将java源代码放在src/main/java中,将生产资源放在src/main/resources中,将测试java源代码放在src/test/java中,将测试资源放在src/test/resources中。使用像Gradle或Maven这样的外部构建工具将更有帮助,因为它们可以使用其他IDE。自定义目录布局和依赖IDE的构建链对于团队编程来说是一个巨大的难题。