我在Java探险,所以我建造了一艘扫雷舰。现在机制已经完成了,我想让它更友好一些。
尝试添加一个ImageIcon按钮上的任何方式,但我不能这样做!我不知道Java是如何工作的!
我这样做:
(假设这是扩展JButton)
super(new ImageIcon("/minesweeper/resources/bomb.png"));
我有这样的包:
- 扫雷艇
- minesweeper.components
- 扫雷艇。资源(试图在这里组织图像)
- 测试(一些东西只用于测试)
我做错了吗?
您可以通过以下方式获取图像:
new ImageIcon(getClass().getResource("/minesweeper/resources/bomb.png"))
查看Java文档中的公共URL getResource(String name)
为了避免可能出现的任何问题,特别是当使用不同的包装方法时,制作一个新的包装称为res
或其他东西,然后在其中浸泡一个Res.java
。将您的映像放在相同的包目录中。现在,当您想要读取某些内容时,您将使用Res.getClass().getResourceAsStream("filename");
获得InputStream
,然后使用流(new ImageIcon(is)
)创建一个新的ImageIcon。这为您提供了一个可以与标签一起使用的ImageIcon
。
如果你想使用超级构造函数来设置图像,你可以一次完成:
super(new ImageIcon(Res.getClass().getResourceAsStream("filename")));
否则,只使用setIcon(..);
。
编辑:您将使用您现有的resources
包。在这里输入Res.java