Java 日食不';不能正确地输出资源
当我从Java运行我的程序时,一切都很好。如果我将程序导出到一个可运行的.jar,程序就不会启动。 当我复制资源文件夹并将我的图片放在runable.jar旁边时,它就开始了。资源文件夹通常位于我的src文件夹中。 runnable jar确实包含一个带有pics的资源文件夹。 它位于具有包名称的文件夹旁边 我曾经Java 日食不';不能正确地输出资源,java,eclipse,resources,export,Java,Eclipse,Resources,Export,当我从Java运行我的程序时,一切都很好。如果我将程序导出到一个可运行的.jar,程序就不会启动。 当我复制资源文件夹并将我的图片放在runable.jar旁边时,它就开始了。资源文件夹通常位于我的src文件夹中。 runnable jar确实包含一个带有pics的资源文件夹。 它位于具有包名称的文件夹旁边 我曾经 Icon cancelIcon = new ImageIcon(this.getClass().getClassLoader().getResource("resources/can
Icon cancelIcon = new ImageIcon(this.getClass().getClassLoader().getResource("resources/cancelIcon.png"));
及
为什么我的程序在导出后不能工作
当我复制资源文件夹并将我的图片放在runable.jar旁边时,它就开始了
这是因为当您导出runnable.jar时,它在库处理下为您提供了三个选项
- 将所需库提取到生成的JAR中
- 将所需库打包到生成的JAR中
- 将所需库复制到生成的JAR旁边的子文件夹中
resources
文件夹(包含图像)应该位于src
文件夹中…要在java中设置imageIcon
,您可以像这样使用Toolkit
public class Main extends JFrame{
private JPanel MainPanel;
public static void main (String[] args){ //--main method --//
Main window = new Main();
window.setVisible(true);
}
private Main(){ //--constructor --//
MainPanel = new JPanel(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("resources/cancelIcon.png")));
this.add(MainPanel);
}
}
希望它能有所帮助。问题是,eclipse不关心路径中的大小写敏感性,但导出的jar关心。 我有一个文件“animation.GIF”,源代码中有“animation.GIF”。Eclipse不在乎,罐子在乎
public class Main extends JFrame{
private JPanel MainPanel;
public static void main (String[] args){ //--main method --//
Main window = new Main();
window.setVisible(true);
}
private Main(){ //--constructor --//
MainPanel = new JPanel(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("resources/cancelIcon.png")));
this.add(MainPanel);
}
}