【问题标题】:Changing the icon of my java application [duplicate]更改我的 java 应用程序的图标 [重复]
【发布时间】:2012-03-08 20:05:57
【问题描述】:

对于一个简单的 Java 桌面应用程序,我使用 NetBeans IDE 的助手添加了一个 JFrame 表单。对于这个框架,我想更改标题栏中的图标。 我尝试在生成的 View 类的构造函数的最后使用以下代码:

ImageIcon ii = new ImageIcon(iconUrl);
    this.getFrame().setIconImage(ii.getImage());

String iconUrl 是绝对正确的,对象 ii 似乎没问题,据我从调试器角度的变量概览中判断。 但是,标题栏中的图标并没有改变,它仍然是默认的java图标。

为什么?

【问题讨论】:

    标签: java netbeans


    【解决方案1】:

    你可以试试这个:

    Image i = ImageIO.read(getClass().getResource("/path/to/image"));
    setIconImage(i);
    

    请注意,这里的/ 将代表您的src 目录

    【讨论】:

    • 太快了!成功了,非常感谢!
    • 太棒了!看看这里:meta.stackexchange.com/questions/5234/…
    • 当我将它放入我的构造函数时,它显示“找不到符号:类:图像”。所以,它不知道“图像”类。怎么了?
    • 这个过程使得加载帧非常慢
    【解决方案2】:

    试试这个代码

    Image i = new ImageIcon(ClassLoader.getSystemResource("signal/icm/gui/images/oconp.png")).getImage();
    setIconImage(i);
    

    【讨论】:

    • 永远不要使用 ClassLoader 访问非系统资源,始终使用 getClass().getResource(stringPath);请注意此Access to Resources 文档中的行,“所有类加载器将首先搜索资源作为系统资源,其方式类似于搜索类文件。”。
    【解决方案3】:

    希望以下解决方案对您有用:

    ImageIcon icon = new ImageIcon(IconURL);  
    myImg = ImageIcon.getImage();   
    JFrame.setIconImage(myImg);
    

    【讨论】:

      猜你喜欢
      • 2016-02-25
      • 1970-01-01
      • 2014-03-01
      • 2012-10-28
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多