Java 设置图标图像帧

Java 设置图标图像帧,java,swing,jframe,icons,Java,Swing,Jframe,Icons,我有一个.ico文件要用作我的程序的标题图标。我很确定我必须使用setIconImage(image)方法,但我尝试过的每一种方法都以失败告终 我尝试过很多不同的方法,但没有一种对我有效。我认为应该有效的方法是: Image image = new ImageIcon(this.getClass().getResource("Icon.ico").getImage()); setIconImage(image); 但是,唯一的问题是类型不匹配。主类和图标都在同一个包中,但无论我

我有一个
.ico
文件要用作我的程序的标题图标。我很确定我必须使用
setIconImage(image)
方法,但我尝试过的每一种方法都以失败告终

我尝试过很多不同的方法,但没有一种对我有效。我认为应该有效的方法是:

    Image image = new ImageIcon(this.getClass().getResource("Icon.ico").getImage());
    setIconImage(image);
但是,唯一的问题是类型不匹配。主类和图标都在同一个包中,但无论我如何努力,我似乎都无法设置它

做这件事的正确方法是什么?

这对我很有用

setIconImage(new ImageIcon("Icon.ico").getImage());

这里有一些演示选项

最好的方法可能是使用
ImageIO
从jar读取图像

Image image = ImageIO.read(this.getClass().getResource("/me/spedwards/program/Icon.ico"));
setIconImage(image);

图标在您的jar中的具体位置是什么?@user432正如我所说的,与主类(唯一的包)在同一个包中
me.spedwards.program
是包,类和图标都在其中。我会使用
ImageIO.read(…)
直接获取图像。对位于jar文件中的图像的错误建议。请记住,从技术上讲,jar文件中不存在文件,您必须将图像作为一种资源而不是一个文件来获取。没有工作,您链接的页面上的任何其他文件也没有工作。@Hovercraft充满鳗鱼,谢谢。我错过了“主类和图标都在同一个包中…”这比Fisher Coder的答案要好得多。1+也不工作。它仍在开发默认的Java应用程序icon@Spedwards你确定图像真的在me/spedwards/program下的jar中吗。当我测试它时,这种方法对我来说效果很好。@user432显然我相应地改变了路径,但这就是它的布局。它显然是在查找图像,因为当我运行时控制台中没有出现错误,但它只是没有出现在窗口上。