我有一个Java代理,我试图在" JTreeCellRendererOpen"中使用ImageResource。来自" res"文件夹显示为图像图标。
ImageIcon icon = new ImageIcon(this.getClass().getResource("/res/ntf.gif"));
super.setIcon(icon);
我在下面尝试不同的例子 NullPointerException when trying to use image resource但我总是得到一个NullPointerException。
有人知道如何访问给定资源吗?
答案 0 :(得分:3)
使用getResourceAsStream()
代替getResource()
:
import javax.swing.ImageIcon;
import javax.imageio.ImageIO;
...
InputStream stream = this.getClass().getResourceAsStream("/ntf.gif");
ImageIcon icon= new ImageIcon(ImageIO.read(stream));
将Java Agent中的资源文件放入“Res”文件夹中,并使用“Import / Resource”按钮:
您将在Package Explorer中看到这样的文件: