1

我在 Java 冒险,所以我正在建造一个扫雷艇。机制现在完成了,我想让它变得对用户友好。

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

我这样做:

(假设这是扩展一个 JButton)

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

我有这样的包:

  • 扫雷
  • 扫雷器.components
  • minesweeper.resources(试图在这里组织图像)
  • 测试(一些仅用于测试的东西)

我做错了吗?(ofc,但它是如何正确的?)

4

2 回答 2

3

您可以通过以下方式获取图像:

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

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

于 2011-10-05T00:51:53.660 回答
1

为了避免可能出现的任何问题,特别是在使用不同的包装方法时,请制作一个新的包装,称为res或其他东西,然后Res.java在其中插入一个。将您的图像放在同一个包目录中。现在,当您想阅读某些内容时,您将获得InputStreamusing Res.getClass().getResourceAsStream("filename");,然后使用流 ( new ImageIcon(is)) 创建一个新的 ImageIcon。这为您提供了一个ImageIcon可以与标签一起使用的标签。

如果你想使用超级构造函数来设置图像,你可以一次性完成:

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

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

编辑:您将使用现有的resources包。放一个Res.java进去就好了。

于 2011-10-05T00:59:41.407 回答