用AWT在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤的方法

                  大家用過QQ吧?(呵呵,我這是廢話!)當(dāng)你等錄成功后,你的任務(wù)欄的右下角就會(huì)出現(xiàn)一個(gè)小企鵝的圖標(biāo),它就是在系統(tǒng)托盤區(qū)的一個(gè)托盤。前幾天我做了一個(gè)QQ2006的個(gè)人設(shè)置的界面,大家給我提出了很多建設(shè)性的意見,我在這里由衷地感謝大家。今天我學(xué)習(xí)JDK1.6新特性的時(shí)候,偶然發(fā)現(xiàn)了JDK1.6中的java.awt.SystemTray,使用這個(gè)類就可以在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤程序,我如獲至寶,我何不在我原來程序的基礎(chǔ)上在更進(jìn)一步——為我的程序添加一個(gè)系統(tǒng)托盤呢!經(jīng)過我的試驗(yàn),呵呵,我的小企鵝終于出現(xiàn)了。

          我將http://www.aygfsteel.com/lzqdiy/archive/2007/05/07/115756.html的源程序中的QQ類中的main方法更改如下:

          public static void main(String[] args)
              
          {
                  
          try
                  
          {
                      
          if (SystemTray.isSupported())
                      
          {// 判斷當(dāng)前平臺(tái)是否支持系統(tǒng)托盤
                          st = SystemTray.getSystemTray();
                          java.awt.Image image 
          = Toolkit.getDefaultToolkit().getImage(
                                  
          "qq.gif");//定義托盤圖標(biāo)的圖片            
                          PopupMenu pm = new PopupMenu();//創(chuàng)建右鍵菜單
                          MenuItem changeUserMenu 
          = new MenuItem("更改用戶");
                          changeUserMenu.addActionListener(
          new ActionListener()
                          
          {
                              
          public void actionPerformed(ActionEvent e)
                              
          {
                                  System.out.println(
          "更改用戶!");
                              }

                          }
          );
                          MenuItem exitMenu 
          = new MenuItem("退出");
                          exitMenu.addActionListener(
          new ActionListener()
                          
          {
                              
          public void actionPerformed(ActionEvent e)
                              
          {
                                  System.exit(
          0);
                              }

                          }
          );
                          pm.add(changeUserMenu);
                          pm.add(exitMenu);

                          TrayIcon ti = new TrayIcon(image, "QQ 176870965", pm);
                          st.add(ti);
                      }


                      QQ window 
          = new QQ();
                      window.open();
                  }
           catch (Exception e)
                  
          {
                      e.printStackTrace();
                  }

              }
          當(dāng)然還需要導(dǎo)入幾個(gè)相關(guān)的類
          import java.awt.MenuItem;
          import java.awt.PopupMenu;
          import java.awt.SystemTray;
          import java.awt.Toolkit;
          import java.awt.TrayIcon;
          import java.awt.event.ActionEvent;
          import java.awt.event.ActionListener;

          運(yùn)行的效果:

          不好意思,我的企鵝圖片有點(diǎn)大,所以沒有顯示完全,請大家海涵。

          posted on 2007-05-13 09:23 我為J狂 閱讀(1769) 評論(4)  編輯  收藏 所屬分類: 圖形用戶界面

          評論

          # re: 用Java在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤的方法 2007-05-13 17:19 Pande

          我用SWT的Display.getSystemTray()  回復(fù)  更多評論   

          # re: 用Java在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤的方法 2007-05-14 10:37 BeanSoft

          JDK 1.4 可以使用 JDIC, Sun 的開源桌面整合框架. http://www.aygfsteel.com/beansoft/archive/2007/02/11/99290.html 這個(gè) Swing 的就用的這個(gè)框架顯示的托盤.  回復(fù)  更多評論   

          # re: 用Java在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤的方法 2007-05-14 14:14 交口稱贊

          還是swt好啊  回復(fù)  更多評論   

          # re: 用AWT在系統(tǒng)托盤區(qū)創(chuàng)建一個(gè)托盤的方法 2007-06-10 11:52 itkui

          awt、swing,swt實(shí)現(xiàn)靠邊隱藏如何實(shí)現(xiàn)呀?  回復(fù)  更多評論   

          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阜南县| 光泽县| 通辽市| 沧源| 兴义市| 墨竹工卡县| 赤壁市| 道真| 德阳市| 景东| 中超| 芜湖县| 慈利县| 资源县| 弥勒县| 得荣县| 观塘区| 杨浦区| 浦东新区| 吉安县| 昆山市| 柯坪县| 喀喇| 徐闻县| 铅山县| 特克斯县| 贵德县| 遵义县| 镇江市| 布尔津县| 扶绥县| 故城县| 双流县| 南皮县| 大英县| 西藏| 武邑县| 五常市| 岳阳市| 洱源县| 元谋县|