我已经查看并尝试了多种方法来做到这一点,但我似乎无法做到正确。程序运行良好。使用 intellij 导出到 jar 文件后(使用此视频 - https://www.youtube.com/watch?v=3Xo6zSBgdgk ),运行 jar 文件时出现以下错误...
这些行如下...
第 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 项目)...
谁能告诉我我错过了什么?
最佳答案
您应该从 jar 的根目录 (/
) 开始并使用正斜杠引用资源。
在Main/StartGui.java:106
中,更改为
private final String imgDir = "/images/";
重建 jar 。
关于java - 使用 intellij 将图像导出为 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43948344/