我最近用jframe写了一个程序。我正在使用 static ImageIcon img = new ImageIcon("X:/workspace/eclipse/Timer5/rsc/icon.png");
以及 f1.setIconImage(img.getImage());
显示jframe的图标。我的问题是,如果程序作为可运行的jar导出,其他计算机上的路径将不再工作,图标将显示标准java图标。
因为我可以指定这样的路径
logo = ImageIO.read(getClass().getResource("/logo.png")); g.drawImage(logo, 657, 640, 485, 85, null);
在我的label类(扩展了jlabel)中,它可以在其他计算机或移动的文件上工作,我想问一下这是否也适用于图像图标。如果我像以前一样进入这条路 ImageIO.read()
则未加载任何图标。
1条答案
按热度按时间kcugc4gi1#
我想问一下,这是否也适用于图像图标。
阅读
ImageIcon
应用程序编程接口。你会发现一个构造函数
Image
作为参数。所以是的,你可以也应该使用
getResource()
方法: