java - 使用 intellij 将图像导出为 jar 文件

标签 java swing intellij-idea

我已经查看并尝试了多种方法来做到这一点,但我似乎无法做到正确。程序运行良好。使用 intellij 导出到 jar 文件后(使用此视频 - https://www.youtube.com/watch?v=3Xo6zSBgdgk ),运行 jar 文件时出现以下错误...

enter image description here

这些行如下...

第 44 行: setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource(guiImgIconLocName)));与字符串变量 guiImgIconLocName ="..\\images\\TitleBarIcon.png"

第 6134 行: new StartGui();作为 public static void main(String[] args) 的一部分方法

这是我的构造函数片段:

StartGui() {
    /*
     * Display everything in GUI to user
     */
    int mainWindowSizeWidth = 800;
    int mainWindowSizeHeight = 600;

    setContentPane(backgroundFrame);
    setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource(guiImgIconLocName)));
    setTitle("Final Fantasy 7 Level Up Calculator");
    add(topFrameScroll, BorderLayout.NORTH);
    add(centerFrameScroll, BorderLayout.CENTER);
    addComponentListener(new ComponentAdapter() {
        @Override
        public void componentResized(ComponentEvent e) {
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    revalidate();
                    repaint();
                }
            });
        }
    });

    setSize(mainWindowSizeWidth,mainWindowSizeHeight);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

在创建工件时,我猜有一个包含图像的步骤(我不是专家,这是我的第一个 Swing 项目)... enter image description here

谁能告诉我我错过了什么?

最佳答案

您应该从 jar 的根目录 (/) 开始并使用正斜杠引用资源。

Main/StartGui.java:106中,更改为

private final String imgDir = "/images/"; 

重建 jar 。

关于java - 使用 intellij 将图像导出为 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43948344/

相关文章:

java - 如何暂时挂起while循环

java - 如何使包裹在 JScrollPane 中的 JTextPane 缩小以适合文本

xml - Intellij IDEA : How to validate XML SCHEMA 1

java - 打开窗口/阶段JavaFX时调用代码

java - Java 线程是否需要清理?

java - 属性 `packagesToScan` 不工作

java - JComboBox 自动完成

java - 是否有一个简单的解决方案可以将列和可编辑行动态添加到 Java 中的表模型?

intellij-idea - 双击如何在Intellij-IDEA中打开文件?

python - 将 anaconda SDK 添加到 Intellij 项目