java - ImageIcon 未加载图像

标签 java image swing button

我正在尝试从平铺图像集构建图像,因此我向 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/

相关文章:

java - 带有图像的 fillRect 方法

java - 我可以在Java中的CardLayout中添加多个框架吗?

java - 如果小数不能用二进制精确表示,Double.toString() 如何工作?

java - java中如何区分接口(interface)和类

image - 更改Route并重建ASP.NET Core Api Controller 后,Docker镜像未更新

javascript - 正版 Jquery/javascript jpg 图像调整大小

java - 如何连接到本地IP地址

java - 如何使用 Firebase 的 Java Admin SDK 在单个位置更新对象而不覆盖其他字段?

iphone - 如何从 UIView/UIScrollView 创建图像

java - 一个 JFrame 和两个 JPanel