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

时间:2012-11-06 19:54:33

标签: java swing netbeans icons jframe

我使用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);

}

问题出在哪里?

2 个答案:

答案 0 :(得分:4)

为什么不制作像:

这样的包裹
org.icon 

并向该包添加图标。

要设置图标,请使用此选项:

ImageIcon img = new ImageIcon(Game.class.getResource("/org/Icon/NameOfIcon.png"));
game.setIconImage(img.getImage());

您的程序找到图标没有问题。

答案 1 :(得分:3)

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

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

显示图像所在的文件夹的方法&如有必要,请将其复制。