2011-10-05 42 views
1

我在Java冒险,所以我建立了一个扫雷。机制现在完成了,我想让它对用户友好。netbeans上的Java映像路径

试图添加一个ImageIcon在每一个按钮,但我不能这样做!我不知道Java是如何工作的!

Im做这样的:

(假设这是延长了一个JButton)

super(new ImageIcon("/minesweeper/resources/bomb.png")); 

我的包是这样的:

  • 扫雷艇
  • minesweeper.components
  • 扫雷舰.resources(尝试在此组织图片)
  • 测试(一些测试只)

我做错了吗? (OFC,但怎么回事吧?)

回答

3

你可以得到这样的图片:

new ImageIcon(getClass().getResource("/minesweeper/resources/bomb.png")) 

检查Java文档的public URL getResource(String name)

+0

ImageIO.read(..)有什么问题? –

+0

我认为这是最简单的方法。 – DarkByte

+0

那么,它不工作。该按钮只是空白。我认为我仍然做错了。我也试试其他方法。 – johnsmith

1

为了避免任何可能出现的问题,特别是当使用不同的包装方法,制作一个名为res的新包,然后扣上一个Res.java即可。把你的图像放在同一个软件包目录下。现在,当您想要阅读某些内容时,您将使用Res.getClass().getResourceAsStream("filename");获得InputStream,然后使用该流创建一个新的ImageIcon(new ImageIcon(is))。这给你一个ImageIcon你可以使用标签。

如果要使用超级构造函数用于设置图像,你可以做到一气呵成:

super(new ImageIcon(Res.getClass().getResourceAsStream("filename")));

否则,只需使用setIcon(..);

编辑:您将使用您现有的resources包。只需在里面放一个Res.java