使用intellij

时间:2017-05-13 01:21:29

标签: 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);
}

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

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

2 个答案:

答案 0 :(得分:1)

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

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

private final String imgDir = "/images/"; 

重建jar。

答案 1 :(得分:0)

将图片保存在资源中。在项目根目录中创建资源文件夹。右键单击resources文件夹,然后“将目录标记为 - >资源root”。然后创建jar。