当前位置: 首页 > 知识库问答 >
问题:

如何更改程序图标而不是默认的java图标

赵明亮
2023-03-14

当我通过eclipse启动时,这会显示图标,但当我将其导出到Runnable Jar时,它会显示默认的Java图标,我不想使用资源的方式来做这件事,因为它甚至在IDE中不起作用。

public static void main(String args[]) {
    Game component = new Game();
    ImageIcon img = new ImageIcon("res/game.png");

    JFrame frame = new JFrame();
    frame.add(component);
    frame.setTitle(NAME);
    frame.setIconImage(img.getImage());
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);

    component.start();
}

共有3个答案

东明德
2023-03-14

问题是,我使用了错误的运行方式文件,这是一个愚蠢的错误,但这就是我没有清理工作区的原因。

我要感谢每一位试图帮助我的人。

晏永康
2023-03-14

请尝试以下代码将图标图像设置为框架:

frame.setIconImage(new ImageIcon("res/game.png").getImage());

即使在这个oracle文档中,你也可以找到同样的方法。

编辑:你试过这个代码吗。这可能会有帮助:

frame.setIconImage(new ImageIO.read(new File("res/game.png")));

也看看这个解释。

岑明辉
2023-03-14

请使用以下代码

Image image = ImageIO.read(getClass().getResourceAsStream("/res/icon.png"));
setIconImage(new ImageIcon(image).getImage());

然后把你的图标文件放在src文件夹的res文件夹中。但是当你执行jar文件时,它会显示frame的图标。对我来说很好。

 类似资料:
  • 问题内容: 我正在使用NetBeans,试图将熟悉的Java咖啡杯图标更改为我保存在jar文件中资源目录中的png文件。我发现许多不同的网页声称它们都有解决方案,但是到目前为止,它们都无法正常工作。 这是我目前所拥有的(省略try-catch块): 包含此代码的类在 com.xyz 包中,如果有区别的话。该类还扩展了JFrame。此代码在第一行上引发MalformedUrlException。 有

  • 问题内容: 如何在Macintosh平台上使用Java更改程序的Dock图标?我听说过使用Apple的Java库(在Mac平台上提供了某种额外的支持),但是我还没有找到一些实际的例子。 问题答案: Apple eAWT提供了Application类,该类允许更改应用程序的停靠图标。

  • Java是否提供了可用于每个Swing和JavaFX框架的扩展默认图标包?我的意思是箭头,警告,文件,错误,通知,形状,手…

  • 问题内容: 对于一个简单的Java桌面应用程序,我使用NetBeans IDE的助手添加了JFrame表单。对于此框架,我想更改标题栏中的图标。我尝试在生成的View类的构造函数的最后使用以下代码进行操作: String iconUrl绝对正确,据我从调试器透视图的变量概述判断,对象ii似乎还可以。但是,标题栏中的图标不会更改,它仍然是默认的Java图标。 为什么? 问题答案: 您可以尝试以下方法

  • 我看了其他答案,试着: 以及: 在类中,我把图像文件放在资源文件夹中,也放在与我的文件和我项目的根文件夹中,甚至在开始时包含了/符号URL字符串,但没有工作。我想知道最近有没有人尝试过并成功了?

  • 我想用我自己的图像替换Android Maps V2用于“我的位置”的默认图标。我创建了自己的平铺提供程序,它带来了一些以蓝色为主的地图,因此默认的我的位置图标,小蓝色箭头,很难看到。 以前我只会重写的draw方法,但是新API中似乎没有。 我还需要图标能够旋转,就像箭头所做的那样,取决于你所面对的方向。所以我不能只用普通的记号笔。基本上,我只需要为那个箭头创建一个自定义图像。