【问题标题】:Image not exporting when making runnable jar制作可运行的jar时图像不导出
【发布时间】:2013-07-06 07:52:51
【问题描述】:

在我的项目中,我使用系统托盘,当我编译程序时,一切正常,并且我用于系统托盘的图标出现了。

图标放在项目文件夹中,图标相关的代码是

Image icon = Toolkit.getDefaultToolkit().getImage("Icon.png");

trayIcon = new TrayIcon(icon, "Program name", popup);
trayIcon.setImageAutoSize(true);

tray.add(trayIcon);

正如我所说,一切正常,但是当我将项目导出为可运行的 jar 时,程序将运行但图标不会显示,但它只是空白。

【问题讨论】:

  • 确保将其包含在文件列表中,然后使用类中的资源加载器来加载图像。
  • 我希望answer 可能对这种情况有所帮助

标签: java swing jar embedded-resource system-tray


【解决方案1】:

要访问 jar 中的图像,请使用 Class.getResource()

我通常会这样做:

InputStream stream = MyClass.class.getResourceAsStream("Icon.png");
if(stream == null) {
   throw new RuntimeException("Icon.png not found.");
}

try {
   return ImageIO.read(stream);
} catch (IOException e) {
   throw new RuntimeException(e);
} finally {
   try {
      stream.close();
   } catch(IOException e) { }
}

【讨论】:

    【解决方案2】:

    如果您想从 .jar 文件中加载资源,请使用 getClass().getResource()。这将返回具有正确路径的 URL。

    Image icon = ImageIO.read(getClass().getResource("image´s path"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      相关资源
      最近更新 更多