我有一个 Java 代理,我正在尝试使用“res”文件夹中“JTreeCellRendererOpen”类中的 ImageResource 来显示为图像图标。
ImageIcon icon = new ImageIcon(this.getClass().getResource("/res/ntf.gif"));
super.setIcon(icon);
我在下面尝试不同的例子 NullPointerException when trying to use image resource但我总是得到 NullPointerException。
有人知道如何访问给定资源吗?
最佳答案
使用 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”:
然后您将在 Package Explorer 中看到这样的文件:
关于Java 代理使用图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28625409/