好的,所以我创建了一个缓冲图像以显示在JLabel上。当我显示文件位置时,它需要在我想要访问的文件夹前面有一个src /,否则会出现错误,并且我不会看到缓冲图像...我知道如果将'src /'在resImg之前,BufferedImage不会显示在IDE之外。谁能帮忙? 这是在IDE内部工作的代码。从.jar文件向外运行时,图像不显示。为什么我的BufferedImage不会显示在.jar文件中?
static File f = new File("src/resImg/banner.png");
try {
banner = ImageIO.read(f);
picLabel = new JLabel(new ImageIcon(banner));
LabelPanel.add(picLabel);
} catch (IOException ex) {
Logger.getLogger(GameStart.class.getName()).log(Level.SEVERE, null, ex);
}
您只能引用文件系统上的“文件”。对于那些在罐子里,你应该把它们当作资源。 –