我想在我的项目中引用一个图像,我将打包成一个Jar文件。
此代码无效:
ImageIcon image = new ImageIcon("Images/buttonBackgroundSelected.png");
有什么想法吗?感谢
答案 0 :(得分:2)
此构造函数仅在图像在JAR文件外的文件系统中可用时才有效
new ImageIcon("Images/buttonBackgroundSelected.png");
你几乎不想这样做。你可以使用:
ImageIcon imageIcon =
new ImageIcon(getClass().getResource("/Images/buttonBackgroundSelected.png"));
当文件夹和图像已经包含在JAR文件中时。
但是,如果加载图像有任何问题,以这种方式加载图像会无声地失败。因此,应使用ImageIO.read:
Image image =
ImageIO.read(getClass().getResource("/Images/buttonBackgroundSelected.png"));
如果需要,可以将结果图像包裹在ImageIcon
中。