【问题标题】:Java image path on netbeansnetbeans 上的 Java 图像路径
【发布时间】:2011-10-05 00:43:55
【问题描述】:

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

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

我正在这样做:

(假设这是扩展一个 JButton)

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

我有这样的包:

  • 扫雷
  • minesweeper.components
  • minesweeper.resources(尝试在此处整理图片)
  • 测试(一些东西仅供测试)

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

【问题讨论】:

    标签: java netbeans path imageicon


    【解决方案1】:

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

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

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

    【讨论】:

    • 我认为这是最简单的方法。
    • 好吧,它不起作用。该按钮是空白的。我认为我仍然做错了。我也试试其他方法。
    • 如果您的问题是如何在按钮上放置图像,请查看有关button.setIcon(imgage); 方法的文档。
    • 哦,你是对的——这是最简单的方法——我看错了问题:)你可以直接设置它。
    【解决方案2】:

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

    如果你想使用超级构造函数来设置图片,你可以一口气搞定:

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

    否则,请使用setIcon(..);

    编辑:您将使用现有的 resources 包。只需在其中输入Res.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 2012-11-18
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多