无法显示Jar文件中的图像



我知道以前有人问过这个问题,但在尝试了所有变体后,我无法让它发挥作用。我有一个小程序,我希望启动框架上显示一个图像。我可以通过将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

我无法像引用罐子外的图像那样加载图像。我也使用过资源流,但运气不好。

有什么想法吗?

我不知道你的文件夹或包结构,但你可以尝试删除getRessource((方法中给定路径的第一个"/",它可能正在寻找一个绝对路径。

最新更新