我已经看过并试过几种方法如何做到这一点,我似乎无法做到这一点。程序运行正常。使用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);
}
在创建工件时,我猜是有一个步骤来包含图像(我不是专家,这是我的第一个摇摆项目)...
谁能告诉我我错过了什么?
答案 0 :(得分:1)
您应该从jar的根目录(/
)开始引用资源并使用正斜杠。
在Main/StartGui.java:106
中,更改为
private final String imgDir = "/images/";
重建jar。
答案 1 :(得分:0)
将图片保存在资源中。在项目根目录中创建资源文件夹。右键单击resources文件夹,然后“将目录标记为 - >资源root”。然后创建jar。