I am using a createAndShowGUI() method to create a JFrame. I am trying to set an icon, but when I run it in NetBeans, it doesn't show. However, when I run a .jar file (with the image in the same folder), then it works without a flaw.
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);
}
Any ideas where the problem could be?
When I run the above code with a test image, the icon is changed correctly. Add:
System.out.println(System.getProperty("user.dir"));
to the method to display the folder where the image should be located & copy it there if necessary.
Why don't you make package like:
org.icon
and add icons to that package.
To set icon use this:
ImageIcon img = new ImageIcon(Game.class.getResource("/org/Icon/NameOfIcon.png"));
game.setIconImage(img.getImage());
You program will have no problems to find an icon.
来源:https://stackoverflow.com/questions/13258375/how-to-set-an-icon-to-a-jframe-when-using-createandshowgui-method