这显示了我通过eclipse启动时的图标,但是当我将它导出到Runnable Jar它显示了默认的Java图标时,我不想使用Resource方式来执行它,因为它不能工作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();
}
答案 0 :(得分:1)
请使用以下代码
Image image = ImageIO.read(getClass().getResourceAsStream("/res/icon.png"));
setIconImage(new ImageIcon(image).getImage());
并将您的图标文件放在res
文件夹的src
文件夹中。但是当你执行jar文件时它会显示框架的图标。对我来说很好。
答案 1 :(得分:0)
尝试以下代码将iconImage设置为框架:
frame.setIconImage(new ImageIcon("res/game.png").getImage());
即使在此oracle doc中,您也可以找到相同的方法。
修改强>: 你试过这段代码吗?它可能会有所帮助:
frame.setIconImage(new ImageIO.read(new File("res/game.png")));
也请查看此explation。
答案 2 :(得分:0)
问题在于我使用了错误的运行文件,这是一个愚蠢的错误,但这就是我没有清理我的工作区的原因。
我要感谢所有试图提供帮助的人。