【发布时间】:2013-08-12 23:26:02
【问题描述】:
在此先感谢您抽出宝贵时间阅读我的问题,如果您能提供任何 cmet、答案、见解、技巧和批评,我将不胜感激。
我正在寻找一种有用的方法来更改 Java 应用程序的桌面图标。我已经研究了几天,但没有找到准确的结果。
在您将其标记为重复之前,我已阅读:How do I change the default application icon in Java? 给其他提出此问题的人),但这并不能解决我的具体问题。我知道他们的方法使用 url 位置而不是导入,但我正在尝试学习如何将其与导入一起使用(如果这实际上是可能的)。当我尝试使用他们的方法按源位置进行更改时。除此之外,url 示例似乎不适用于存储在计算机上的文件。当我尝试运行它时,我收到一条“未捕获的错误”消息。
我使用以下格式声明已导入 NetBeans 的图像:
Image image = new ImageIcon("imported.png").getImage();
frame.setIconImage(image);
现在这对于显示在工具栏中的图标很好,它也出现在框架的左上角,但是当我清理和构建时,我仍然将 Java 咖啡杯作为应用程序的图标它。
有关我用来尝试此操作的代码的其他资源:
import java.awt.Image;
import javax.swing.*;
public class Check {
JFrame frame;
public static void main(String[] args) {
new Check().go();
}
private void go() {
frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image image = new ImageIcon("owl.gif").getImage();
frame.setIconImage(image);
frame.setVisible(true);
frame.setSize(300, 300);
}
}
“owl.gif”位是我通过单击和拖动方法导入到 NetBeans 中的(如我阅读的一本专注于 NetBeans 的书籍中所述)。
我正在寻找一种方法,让我已经保存在计算机上的文件在构建后成为我的应用程序的桌面图标。
【问题讨论】:
-
你可以使用这个
Image image = new ImageIcon(Check.class.getResource("/owl.gif")).getImage();。更多信息可以在我的answer 上找到:-) -
或者你可以看看这个approach,我希望这对给定的主题有帮助:-)
-
@nIcEcOw 类似于 ASCII 艺术目录结构。 :)
-
@nIcEcOw 当我尝试第一个示例时,我收到 NullPointerException。是否有可能我错误地导入了文件?当我单击并将其拖到“文件”选项卡下的主类时,它会显示出来,但由于某种原因无法调用。
-
@JeremyJohnson :请参考链接,在我的第一条评论中,有一个适用于NetBeans 的链接,虽然简单来说,按照我评论的方式,图像必须与包,但如果您删除第一个正斜杠,则图像应该与包含上述语句的 .class 文件一起出现。如果仍然不清楚,请观看第一条评论中答案的最后一个链接,该链接的第一个示例可以为您提供关于目录结构的想法:-)
标签: java image swing icons imageicon