我在工程根目录下放了个文件夹image,里面有些图片,然后程序运行的时候会在这个文件夹下建立一个文本文档,在eclipse里还能运行,但是打成jar包后双击就不能运行了,我觉得是这些资源文件的路径引用问题,要怎么改呢,我的引用图片和建立文件的代码如下:
btnLogin = new JButton(new ImageIcon("image/denglu.gif"));
PrintWriter print = new PrintWriter(new FileOutputStream(new File("image/login.txt")), true);
btnLogin = new JButton(new ImageIcon("image/denglu.gif"));
PrintWriter print = new PrintWriter(new FileOutputStream(new File("image/login.txt")), true);
btnLogin = new JButton(new ImageIcon(YourFrame.class.getResource("/image/denglu.gif")));
记得把image目录放src目录下。
假如执行程序在D:/test这个目录下,那么d:/test 目录下应该有这个目录: image ,
这个image目录下就是文件denglu.gif
这样你的程序才可以根据相对目录找到你所使用的这个文件。
你改成:btnLogin = new JButton(new ImageIcon("/image/denglu.gif"));
PrintWriter print = new PrintWriter(new FileOutputStream(new File("/image/login.txt")), true);
这个没问题
YourFrame.class.getClassLoader().getResourceAsStream("/image/xxx.jpg")
这样的写法,从类路径中加载资源。