用AWT在系統托盤區創建一個托盤的方法

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

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

          public static void main(String[] args)
              
          {
                  
          try
                  
          {
                      
          if (SystemTray.isSupported())
                      
          {// 判斷當前平臺是否支持系統托盤
                          st = SystemTray.getSystemTray();
                          java.awt.Image image 
          = Toolkit.getDefaultToolkit().getImage(
                                  
          "qq.gif");//定義托盤圖標的圖片            
                          PopupMenu pm = new PopupMenu();//創建右鍵菜單
                          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();
                  }

              }
          當然還需要導入幾個相關的類
          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;

          運行的效果:

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

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

          評論

          # re: 用Java在系統托盤區創建一個托盤的方法 2007-05-13 17:19 Pande

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

          # re: 用Java在系統托盤區創建一個托盤的方法 2007-05-14 10:37 BeanSoft

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

          # re: 用Java在系統托盤區創建一個托盤的方法 2007-05-14 14:14 交口稱贊

          還是swt好啊  回復  更多評論   

          # re: 用AWT在系統托盤區創建一個托盤的方法 2007-06-10 11:52 itkui

          awt、swing,swt實現靠邊隱藏如何實現呀?  回復  更多評論   

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

          導航

          統計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鸡西市| 兴安县| 长泰县| 玉林市| 睢宁县| 呼图壁县| 唐河县| 广水市| 通城县| 山阳县| 当涂县| 县级市| 玉屏| 遵义县| 凤山市| 安岳县| 吴川市| 济南市| 涞源县| 满洲里市| 苍南县| 东山县| 昭苏县| 剑河县| 建阳市| 南开区| 孝感市| 微博| 郧西县| 江华| 青川县| 牙克石市| 襄城县| 酒泉市| 新巴尔虎左旗| 永济市| 樟树市| 美姑县| 内江市| 红原县| 崇阳县|