NetBean 7,如何为图像创建文件夹?

时间:2011-10-21 12:51:14

标签: java image netbeans resource-files

我创建了一个项目,在项目内部有一个名为Source Packages的文件夹,其中包含我的包。 我需要图像,我想将它们复制到项目内的一个文件夹中(或者更好地在Source包中),这样当我创建.jar时,图像文件夹将位于jar文件中。 我怎么能在NetBean中做到这一点?

编辑:我仍然无法弄清楚,这是代码:

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

它不起作用,我收到错误“IllegalArgumentException input == null”

文件夹“images”位于项目“Game”的文件夹中,如果我尝试使用此代码:

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

它有效,我对InputStream做错了什么?

2 个答案:

答案 0 :(得分:2)

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

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.a的类中获取位于com.my.pkg.b的图像:

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

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

答案 1 :(得分:0)

  1. 在根项目文件夹中创建一个文件夹(例如“资源”)
  2. 在项目属性对话框的“源”页面中,单击“添加” 文件夹...“按钮位于”源包的右侧 文件夹“table
  3. 选择新创建的文件夹,单击“确定”
  4. 在“源包文件夹”中更改文件夹的标签 table(例如“资源包”)
  5. 该文件夹中的文件将包含在您的应用程序的jar中。