当前位置: 首页 > 面试题库 >

使用createAndShowGUI()方法时如何在JFrame中设置图标?

呼延聪
2023-03-14
问题内容

我正在使用一种createAndShowGUI()方法来创建一个JFrame。我试图设置一个图标,但是当我在NetBeans中运行它时,它没有显示。但是,当我运行.jar文件(图像位于同一文件夹中)时,它可以正常运行。

private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame game = new JFrame();
    game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    game.setSize(198, 409);  
    game.setResizable(false);
    game.setTitle("Frame Title"); 
    ImageIcon img = new ImageIcon("Icon.png");
    game.setIconImage(img.getImage());
    game.setVisible(true);

}

有什么想法可以解决问题吗?


问题答案:

当我使用测试图像运行以上代码时,图标已正确更改。加:

System.out.println(System.getProperty("user.dir"));

转到显示 应该 放置图像的文件夹的方法,并在必要时将其复制到该位置。



 类似资料:
  • 问题内容: 我学习Java已有几周了,在将背景图像应用于JFrame时,我真的很困惑。我遇到的每个教程都不像我那样创建Frames(我扩展了JFrame),或者如果这样做,说明还不够清楚,我无法理解。 下面的代码来自我自己的项目,因此可以帮助我练习到目前为止所学的内容。请您能否以下面的代码为基础,并向我说明要添加的内容和位置,所以我可能以图像作为框架的背景? 我真正要感谢的一件事是,如果您能解释事

  • 问题内容: 有什么方法可以将图像设置为背景JFrame? 问题答案: 没有内置方法,但是有几种方法可以实现。目前我能想到的最直接的方法是: 创建的子类。 重写绘制想要显示的图像的方法。 设置内容窗格的是这个子类。 一些示例代码: 请注意,如果你要使用此代码,则不会处理调整图像大小以适合的大小。

  • 问题内容: 我对将其放在何处感到困惑: 我没有扩展课程,但使用了 :D 问题答案: 最常见的放置方法是在您的静态void main(String [] args)方法内部。像这样: 有关更多信息,请访问以下站点:http : //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

  • 问题内容: 因此,我试图用()移动矩形,并且每当我尝试按下键时,矩形都不会移动。 绘制了矩形,但是每当我按和键时,都不会发生任何事情。我有两个类,一个是我的带有keyEvents和frame的主类,另一个是绘制矩形并保存用于移动矩形的函数。 这是我的代码: 现在是第二堂课: 请告诉我如何移动矩形。提前致谢! 问题答案: 矩形没有移动,因为使用不正确。您必须分配给而不是忽略实例化的对象。 @MadP

  • 问题内容: 我尝试过这种方式,但是它没有改变吗? 问题答案: 最好使用.png文件;.ico是Windows特定的。最好不要使用文件,而是使用类资源(可以包装在应用程序的jar中)。 尽管您甚至可能考虑将setIconImages用于多种尺寸的图标。