swing窗口设置图标

 

开发工具:NetBeans

在src目录下有images文件夹

1.

Image image =Toolkit.getDefaultToolkit().getImage("json.jpg"); //好像不行

 

2.这个可以

java.net.URL imgURL = MainFrame.class.getResource("/images/icon.png");
ImageIcon imageIcon = new ImageIcon(imgURL);

用URL有一个好处,项目打成jar包后,仍能从jar包中取得图片,不存在路径问题

 

3.这个也可以,要加try catch

java.net.URL imgURL = MainFrame.class.getResource("/images/icon.png");

Image imgae = ImageIO.read(imgURL);
mainFrame.setIconImage(imgae);

 

java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
//                System.out.println(System.getProperty("user.dir"));
//                System.out.println(MainFrame.class.getResource("icon.png").getPath());
//                System.out.println(MainFrame.class.getProtectionDomain().getCodeSource().getLocation().getFile());
                
                //new MainFrame().setVisible(true);
                MainFrame mainFrame = new MainFrame();
                //Image image =Toolkit.getDefaultToolkit().getImage("icon.png"); //不行 
                java.net.URL imgURL = MainFrame.class.getResource("/images/icon.png");
                ImageIcon imageIcon = new ImageIcon(imgURL);
                mainFrame.setIconImage(imageIcon.getImage());
//                try {
//                    Image imgae = ImageIO.read(imgURL);
//                    mainFrame.setIconImage(imgae);
//                } catch (IOException ex) {
//                    Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
//                }
                mainFrame.setVisible(true);
            }
        });

 

参考:

jar包及jar包中图片加载

http://java.chinaitlab.com/base/761996.html

【解惑】深入jar包:从jar包中读取资源文件

http://hxraid.iteye.com/blog/483115

 

你可能感兴趣的:(窗口,swing,图标)