代码之家  ›  专栏  ›  技术社区  ›  Jonas

无法从j.jar文件运行时加载JavaSwing中的图像

  •  2
  • Jonas  · 技术社区  · 15 年前

    我可以在没有问题的情况下从Eclipse运行Java JAVA Swing应用程序。但是当我从.jar文件运行它时,图像无法加载。

    我将图像加载到:

    setIconImage(Toolkit.getDefaultToolkit().
    getImage(getClass().getResource("../images/logo.png")));
    

    我如何加载这些图像,使它们即使在我从.jar文件运行时也能正常工作?

    图像在同一个JAR文件中,在包中 com.example.images 他们所在的班级 com.example.gui.dialogs

    2 回复  |  直到 12 年前
        1
  •  5
  •   ZeissS    15 年前

    在你的罐子里使用绝对路径。如果您不知道,请尝试使用zip程序打开jar,例如7zip。然后使用绝对路径:

    getClass().getResource("/com/examples/images/logo.png")
    

    只有当你的图像在你的罐子里时,这种方法才有效。如果不是,但在您的类路径中,这也应该很好。

        2
  •  1
  •   Gnoupi    15 年前

    图像也应该打包在JAR文件中。事实上,我不是百分之百地确定没有其他解决方案,但至少在试验同一个问题时,我是这样做的。

    然后jar被添加到类路径,我通过以下方式访问图像资源:

    getResource("images/logo.png");