我正在尝试从平铺图像集构建图像,因此我向 JPanel 添加带有 ImageIcons 的 JButtons。所有图像都位于我的类 (NetBeans) 的文件夹中,它们的名称为 u1、u2、...、u16。但按钮上没有显示图像。我做错了什么?
JPanel panel = new JPanel(new GridLayout(4, 4, 3, 3));
for (int i = 1; i < 17; i++) {
JLabel l = new JLabel(new ImageIcon("u"+i+".jpg"), JLabel.CENTER);
l.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
panel.add(l);
}
最佳答案
NetBeans 可能找不到您的图像文件。要对此进行测试,请使用文件的全名(如果您在 Windows 中,则来自 C:/path/to/image.jpg
;如果您使用的是 Windows,则来自 /path/to/image.jpg。 jpg
(如果您使用的是类似 UNIX 的系统)。
我建议使用
new ImageIcon(this.getClass().getResource(fileName));
其中“classes/org/myorg/resources/image.jpg”中可用的内容的fileName
应类似于org/myorg/resources/image.jpg
。这样做的优点是,无论您以何种方式访问类(通过 HTTP、在 jar 文件中……),它都可以工作。
关于java - ImageIcon 未加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799572/