【问题标题】:NetBean 7, how to create a folder for images?NetBean 7,如何为图像创建文件夹?
【发布时间】:2011-10-21 12:51:14
【问题描述】:

我创建了一个项目,该项目内有一个名为源包文件夹,其中包含了我的包。 我需要的图片,我想给他们一个文件夹中复制的项目中(或源码包内更好),这样,当我创建的.jar文件夹中图像将是JAR文件中。 我怎样才能做到这一点在NetBean? P>

编辑:我仍然不能弄清楚,这是代码:

 Image star; 
 InputStream stream = getClass().getResourceAsStream("images/star.png");
 star= ImageIO.read(stream);

这是行不通的,我得到的错误 “抛出:IllegalArgumentException输入== NULL” P>

文件夹“图像”是该项目“游戏”的文件夹内,如果我尝试使用此代码: P>

Image star; 
InputStream stream = getClass().getResourceAsStream("images/star.png");
star= Toolkit.getDefaultToolkit().getImage("images/star.png");

它的工作原理,我在做什么毛病的InputStream? P>

【问题讨论】:

    标签: java image netbeans resource-files


    【解决方案1】:

    您可以将图像复制/粘贴到您的包或包所代表的文件夹中。当您要访问图像时:

    InputStream stream = getClass().getResourceAsStream("/com/my/pkg/my_image.png");
    

    有关更多示例,请参阅此 SO 问题:

    how to add image from spectified package into label, frames etc

    编辑: ClassLoader.getResourceAsStream(String) 将查找位于您为路径指定的包中的任何资源。例如,如果您想从位于com.my.pkg.b 的类中获取位于com.my.pkg.a 的图像:

    // From com.my.pkg.b.MyClass
    InputStream stream = getClass().getResourceAsStream("/com/my/pkg/a/my_image.png");
    

    请注意,指定的路径转到包a。即使图像位于不同的包中,这也会找到图像。有关更多详细信息,请参阅内部使用的 ClassLoader.getResource() 的 javadoc。

    【讨论】:

    • 如果我希望图像文件夹对 Source Packages 文件夹中的所有包可见,我该怎么做?
    • @AR89 查看编辑以获取可能的答案
    • 这行得通,这是我一直使用 jar 中的图像的方式。
    【解决方案2】:
    1. 在您的根项目文件夹中创建一个文件夹(例如“resources”)
    2. 在项目属性对话框的“Sources”页面中,点击“Add 文件夹...”按钮,位于“源包”右侧 文件夹”表
    3. 选择新创建的文件夹,点击确定
    4. 在“源包文件夹”中更改文件夹的标签 表(例如“资源包”)

    该文件夹中的文件将包含在您的应用程序的 jar 中。

    【讨论】:

      猜你喜欢
      • 2021-07-12
      • 1970-01-01
      • 2019-05-09
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多