Java 如何在eclipse中设置JFrame的图标

Java 如何在eclipse中设置JFrame的图标,java,swing,Java,Swing,我已经在web上尝试了在eclipse中设置jframe图标的所有方法,但仍然无法在eclipse中设置jframe图标。我也有三种不同的方法。解释这些方法之间的区别,并告诉我在eclipse而不是netbeans中为jframe设置图标的方法 编辑: 就这样做吧: try { frame.setIconImage(ImageIO.read(getClass().getResourceAsStream("/icon.png"))); } catch (IOException e) {

我已经在web上尝试了在eclipse中设置jframe图标的所有方法,但仍然无法在eclipse中设置jframe图标。我也有三种不同的方法。解释这些方法之间的区别,并告诉我在eclipse而不是netbeans中为jframe设置图标的方法

编辑:

就这样做吧:

try {
    frame.setIconImage(ImageIO.read(getClass().getResourceAsStream("/icon.png")));
} catch (IOException e) {
    e.printStackTrace();
}
注意:将图像图标放在
类路径

最简单的方式中(如果您以后在程序中需要图像引用,则仍然声明图像引用,并且您的文件可以位于存储中的任何位置,与程序无关):

下次你发帖时,请将你目前的知识与你所需要的相比更加明确。了解SSCCE


祝你好运

(1-
我有三种不同的方法。解释这些方法之间的区别
——我们不是读心术的人。我们不知道你所说的“三种不同的方式”是什么。张贴您的代码,显示您已尝试的内容。代码应该以.的形式发布,但在您按照@camickr的建议发布之前。请务必阅读Java文档,了解这三种方法中涉及的任何方法。因此,这并不能代替阅读精美的手册。我已经用我的代码更新了我的问题。你能回答注释中的内容吗?谢谢你救了我,但是你能解释一下你的代码吗?我必须按类名更改getClass,因为它给了我一个对非静态函数的静态引用。Thanks@SAIFI369这是因为你们在用静态的主方法做事情。因此,在这一点上,您可以使用classname.this.getRe…就像您在代码中所做的那样(编辑后)。好的,我知道了,但是您能解释一下您的代码以便我能够理解实际发生的事情吗???你知道为什么另一个方法不起作用吗???这个方法起作用是因为它使用了getResource()方法,它在类路径中查找资源,类路径是指向源代码的编译类路径的路径(相对于资源的路径)。如果您将任何文件放在src文件夹中,那么它将使用编译器编译到类路径。getdefaulttoolkit也在工作,但是它需要一个文件的绝对路径,该文件不包括在项目中,如果更改了图像的位置,那么它将无法工作,这不利于使用此方法。希望我为您清除了它。您只需提供图标的正确位置。试试“/src/img.png”或“src/img.png”或“/img.png”或“img.png”。如果这些都不起作用,只需复制粘贴完整位置“C:/Code/eclipse/eclipse-neon/workspace/project/src/img.png”或类似的内容。我的意思是toolkit或getdefaulttoolkit是什么?请在此处阅读:和此处
try {
    frame.setIconImage(ImageIO.read(getClass().getResourceAsStream("/icon.png")));
} catch (IOException e) {
    e.printStackTrace();
}
Image img = Toolkit.getDefaultToolkit().getImage("path/to/img.png");
frame.setIconImage(img);