我知道之前已经有人问过这个问题,但是尝试所有变体后我无法使它起作用。我有一个小程序,我希望启动框架上显示图像。我可以通过将jar与图像放在同一文件夹中并对其进行引用来实现此目的,但是,当我尝试在jar文件本身中进行引用时,总是会出错:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
我正在使用的代码是这样:
private void imagePanel() {
setLayout(new BorderLayout());
BufferedImage image;
try {
image = ImageIO.read(this.getClass().getResource("/src/ticketMaster/img/logo.png"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
add(new JLabel(new ImageIcon(image)), BorderLayout.CENTER);
}
我不确定路径是否不正确,我在名为img的程序包中创建了一个img文件夹,其中包含徽标。我尝试了所有的变化
/img/logo.png
/ticketMaster/img/logo.png
/src/ticketMaster/img/logo.png
我无法像在罐子外部引用图像那样加载图像。我也使用了resourceasstream,因此没有任何运气。
这里有什么想法吗?
答案 0 :(得分:-2)
我不知道您的文件夹或包结构,但是您可以尝试删除在getRessource()方法中给定的路径的第一个“ /”,这可能是在寻找绝对路径。