欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

swing窗口设置图标 博客分类: swing swing窗口图标 

程序员文章站 2024-03-25 17:59:40
...

 

开发工具: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