我正试图在java中创建一个没有运气的小项目 如果我用eclipse编译程序一切都很好,但是当我创建jar文件时,我得到一个空白窗口
这是我声明的图像:
public ImageIcon BACKGROUND = new ImageIcon() ;
我试过做以下事情:
1
new ImageIcon("Images/wood.jpg").getImage());
2
this.BACKGROUND.setImage(Toolkit.getDefaultToolkit().getImage("Images/wood.jpg"));
3
this.BACKGROUND = new ImageIcon(getClass().getResource("Images/wood.jpg"));
4
/** Returns an ImageIcon, or null if the path was invalid. */
protected ImageIcon createImageIcon(String path,
String description) {
java.net.URL imgURL = getClass().getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
1&图2显示了编译后的图像和3& 4返回null
另一个想法是我正在使用mac,当我使用Windows时,编译后没有显示图像。
答案 0 :(得分:2)
如果有帮助,这里有一个小working example:
public class ImageIconApplet extends JApplet {
public void init() {
URL url = getClass().getResource("/images/WhiteFang34.jpg");
ImageIcon icon = new ImageIcon(url);
JLabel label = new JLabel(icon, JLabel.CENTER);
add(label);
}
}
该页面上applet的jar包含两个文件:
/com/whitefang34/ImageIconApplet.class
/images/WhiteFang34.jpg
我不确定您是部署applet还是桌面摇摆应用程序,但加载图片的代码和打包要求都是相同的。
答案 1 :(得分:0)
您确定.jar文件中存在Images/wood.jpg
吗?
我建议你解压缩jar文件并确保它存在。否则,您将不得不修改构建jar的构建脚本(或者您使用的技术)。
相关问题:
答案 2 :(得分:0)
我有东西...
ImageIcon icon = new ImageIcon(getClass().getResource("/package/image.png"));
JFrame.setIconImage(icon.getImage());
把它放在你的构造函数中。