java - JFrame.setIconImage() 不工作

标签 java swing icons jframe imageicon

public class RType extends JFrame {

private static ImageIcon ICON = new ImageIcon("craft.png");

public RType() {

    add(new Board());
    setIconImage(ICON.getImage());

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(400, 300);
    setLocationRelativeTo(null);
    setTitle("R - Type");
    setResizable(false);
    setVisible(true);
}

public static void main(String[] args) {
    new RType();
}
}

在我尝试为 JFrame 设置图标图像后,此代码仍然可以正常工作并编译,但没有任何区别。我仍然看到默认的 java 图标。有人可以检测到问题吗? “craft.png”是 20x20 像素。它正确放置在资源文件夹中(没有类加载器异常,也没有其他编译时错误)。

最佳答案

ImageIcon(String)需要文件引用,如果图标是嵌入资源,则需要提供 URL

类似...

private static ImageIcon ICON = new ImageIcon(RType.class.getResource("/craft.png"));

假设craft.png位于默认目录而不是某个子目录

关于java - JFrame.setIconImage() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19719590/

相关文章:

css - 按钮内的图标在 iphone 中不居中

java - 改进类的多个实例访问同一类中多个同步函数的工作流程

java - 如何修复 Tomcat 中的 log4j 警告消息

java - 如何 stub 用@InjectMocks 注释的类的方法?

java - Swing:将切换按钮与按钮组以及相应的菜单项链接在一起

html - 图像上的图标 + y 轴定位

java - 如何检测断开连接事件

java - JTextPane 为所有内容而不是少数字符着色

java table自定义TableCellRenderer根据单元格内容值更改行颜色

android - 应用程序图标不显示在操作栏中 (Android Studio 1.0.1)