亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java托盤.txt

?? 最近剛好在用Java做一個項目
?? TXT
字號:
在網上看了很多實現系統托盤圖標的帖子,但都大同小異:借用dll動態鏈接庫,用JAVA JNI實現。 
我想的是有沒有用純JAVA實現的系統圖標?它應該不依賴于OS的,能在Windows下實現,在Linux下也可以運行實現的?! 

對不起,只有這么點分了!有了可以再加。
回答:
up
回答:
jdk6.0中增加了java.awt.SystemTray,java.awt.SystemIcon支持系統托盤了。。
回答:
頂,曾經也考慮過這個問題!
回答:
使用   JDK   6   才可以。
回答:
public   class   DesktopTray   { 
 private   static   Desktop   desktop; 
 private   static   SystemTray   st; 
 private   static   PopupMenu   pm; 
 public   static   void   main(String[]   args)   { 
  if(Desktop.isDesktopSupported()){//判斷目前平臺是否支援Desktop類 
   desktop   =   Desktop.getDesktop(); 
  } 
  if(SystemTray.isSupported()){//判斷目前平臺是否支援系統托盤 
   st   =   SystemTray.getSystemTray(); 
   Image   image   =   Toolkit.getDefaultToolkit().getImage("netbeans.png");//定義托盤圖示的圖片   
   createPopupMenu(); 
   TrayIcon   ti   =   new   TrayIcon(image,   "Desktop   Demo   Tray",   pm); 
   try   { 
    st.add(ti); 
   }   catch   (AWTException   ex)   { 
    ex.printStackTrace(); 
   } 
  } 
 } 

 public   static   void   sendMail(String   mail){ 
  if(desktop!=null   &&   desktop.isSupported(Desktop.Action.MAIL)){ 
  try   { 
   desktop.mail(new   URI(mail)); 
  }   catch   (IOException   ex)   { 
   ex.printStackTrace(); 
  }   catch   (URISyntaxException   ex)   { 
   ex.printStackTrace(); 
  } 
 }   
} 

public   static   void   openBrowser(String   url){ 
 if(desktop!=null   &&   desktop.isSupported(Desktop.Action.BROWSE)){ 
  try   { 
   desktop.browse(new   URI(url)); 
  }   catch   (IOException   ex)   { 
   ex.printStackTrace(); 
  }   catch   (URISyntaxException   ex)   { 
   ex.printStackTrace(); 
  } 
 } 
} 

public   static   void   edit(){ 
 if(desktop!=null   &&   desktop.isSupported(Desktop.Action.EDIT)){ 
  try   { 
   File   txtFile   =   new   File("test.txt"); 
   if(!txtFile.exists()){ 
    txtFile.createNewFile(); 
   } 
   desktop.edit(txtFile); 
  }   catch   (IOException   ex)   { 
   ex.printStackTrace(); 
  }   
 } 
} 

public   static   void   createPopupMenu(){ 
 pm   =   new   PopupMenu(); 
 MenuItem   openBrowser   =   new   MenuItem("Open   My   Blog"); 
 openBrowser.addActionListener(new   ActionListener()   { 
  public   void   actionPerformed(ActionEvent   e)   { 
   openBrowser("http://blog.csdn.net/chinajash"); 
  } 
 }); 

 MenuItem   sendMail   =   new   MenuItem("Send   Mail   to   me"); 
 sendMail.addActionListener(new   ActionListener()   { 
  public   void   actionPerformed(ActionEvent   e)   { 
   sendMail("mailto:chinajash@yahoo.com.cn"); 
  } 
 }); 

 MenuItem   edit   =   new   MenuItem("Edit   Text   File"); 
 sendMail.addActionListener(new   ActionListener()   { 
  public   void   actionPerformed(ActionEvent   e)   { 
   edit(); 
  } 
 }); 

 MenuItem   exitMenu   =   new   MenuItem("&Exit"); 
 exitMenu.addActionListener(new   ActionListener()   { 
  public   void   actionPerformed(ActionEvent   e)   { 
   System.exit(0); 
  } 
 }); 
 pm.add(openBrowser); 
 pm.add(sendMail); 
 pm.add(edit); 
 pm.addSeparator(); 
 pm.add(exitMenu);   
} 
}
回答:
很多Cpper也這么想,但是它們也做不到呢。 

系統托盤,MAC就沒有這一說。怎么做才算是不依靠系統呢? 

回答:
所謂“不依賴于平臺”,無非就是“為每個平臺都做一套,然后提供一個統一的調用接口”。 

前面說的   JDK6   提供的功能,大概也就是這么做的。
回答:
JDK6.0的系統托盤的雛形其實是個開源的JDIC,其實現原理就是不同的系統調用不同的JNI 
不是象LZ那樣想的,可以在任何平臺上跑,所以也是分支持不支持的,LZ可以用JDK1.6或JDIC 
package   csdn; 

import   java.awt.AWTException; 
import   java.awt.MenuItem; 
import   java.awt.PopupMenu; 
import   java.awt.SystemTray; 
import   java.awt.TrayIcon; 
import   java.awt.event.ActionEvent; 
import   java.awt.event.ActionListener; 
import   java.awt.event.MouseAdapter; 
import   java.awt.event.MouseEvent; 
import   javax.swing.ImageIcon; 
import   javax.swing.JButton; 
import   javax.swing.JFrame; 
import   javax.swing.JLabel; 
import   javax.swing.JOptionPane; 
import   javax.swing.JPanel; 
import   javax.swing.UIManager; 
import   javax.swing.UnsupportedLookAndFeelException; 
/** 
  *   Java1.6.0實現系統托盤技術演示 
  * 
摘要:Java1.6.0實現系統托盤技術演示:本演示程序實現了點擊按鈕窗體關閉, 
托盤圖標掛于系統托盤上,鼠標雙擊托盤圖標,窗體顯示,托盤圖標消失,在托盤圖標上點右鍵可彈出選擇菜單 
(顯示窗口,退出系統,Author),分別能完成不同的任務要求。 
  *   @author   五斗米   <如轉載請保留作者和出處 > 
  *   @blog   http://blog.csdn.net/mq612 
  */ 
public   class   TrayDemo   extends   JFrame   { 
        private   JPanel   pane   =   null; 
        private   JButton   button   =   null;   //   啟動托盤圖標的按鈕 
        private   JLabel   label   =   null;   //   用來顯示系統是否支持托盤的信息 
        private   TrayIcon   trayIcon   =   null;   //   托盤圖標 
        private   SystemTray   tray   =   null;   //   本操作系統托盤的實例 

        public   TrayDemo()   { 
                super("Java1.6.0托盤技術演示"); 
                try   { 
                        //   將LookAndFeel設置成Windows樣式 
                        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 
                }   catch   (Exception   ex)   { 
                        ex.printStackTrace(); 
                } 
                pane   =   new   JPanel(); 
                button   =   new   JButton("縮小到托盤"); 
                button.setEnabled(false); 
                label   =   new   JLabel("本操作系統不支持托盤"); 
                pane.add(label); 
                pane.add(button); 
                if(SystemTray.isSupported()){   //   如果操作系統支持托盤 
                        this.tray(); 
                } 
                this.getContentPane().add(pane); 
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                this.setSize(300,   200); 
                this.setVisible(true); 
        } 
        /** 
          *   托盤相關代碼 
          */ 
        private   void   tray(){ 
                label.setText("本操作系統支持托盤"); 
                button.setEnabled(true); 
                tray   =   SystemTray.getSystemTray();   //   獲得本操作系統托盤的實例 
                ImageIcon   icon   =   new   ImageIcon("images/icon.gif");   //   將要顯示到托盤中的圖標 
                PopupMenu   pop   =   new   PopupMenu();   //   構造一個右鍵彈出式菜單 
                MenuItem   show   =   new   MenuItem("顯示窗口"); 
                MenuItem   exit   =   new   MenuItem("退出演示"); 
                MenuItem   author   =   new   MenuItem("Author"); 
                /** 
                  *   TrayIcon有三個構造 
                  *   TrayIcon(Image   image)   用“圖標”來構造 
                  *   TrayIcon(Image   image,   String   tooltip)   用“圖標”和“ToolTip”構造 
                  *   TrayIcon(Image   image,   String   tooltip,   PopupMenu   popup)   用“圖標”,“ToolTip”,“彈出菜單”來構造一個托盤圖標 
                  */ 
                trayIcon   =   new   TrayIcon(icon.getImage(),   "Java1.6.0托盤技術演示",   pop); 
                //   點擊本按鈕后窗口被關閉,托盤圖標被添加到系統的托盤中 
                button.addActionListener(new   ActionListener()   { 
                        public   void   actionPerformed(ActionEvent   e)   { 
                                try   { 
                                        tray.add(trayIcon);   //   將托盤圖標添加到系統的托盤實例中 
                                        setVisible(false);   //   使窗口不可視 
                                }   catch   (AWTException   ex)   { 
                                        ex.printStackTrace(); 
                                } 
                        } 
                }); 
                /** 
                  *   添加鼠標監聽器,當鼠標在托盤圖標上雙擊時,默認顯示窗口 
                  */ 
                trayIcon.addMouseListener(new   MouseAdapter()   { 
                        public   void   mouseClicked(MouseEvent   e)   { 
                                if(e.getClickCount()==2){   //   鼠標雙擊 
                                        tray.remove(trayIcon);   //   從系統的托盤實例中移除托盤圖標 
                                        setVisible(true);   //   顯示窗口 
                                } 
                        } 
                }); 
                show.addActionListener(new   ActionListener()   {   //   點擊“顯示窗口”菜單后將窗口顯示出來 
                        public   void   actionPerformed(ActionEvent   e)   { 
                                tray.remove(trayIcon);   //   從系統的托盤實例中移除托盤圖標 
                                setVisible(true);   //   顯示窗口 
                        } 
                }); 
                exit.addActionListener(new   ActionListener()   {   //   點擊“退出演示”菜單后退出程序 
                        public   void   actionPerformed(ActionEvent   e)   { 
                                System.exit(0);   //   退出程序 
                        } 
                }); 
                author.addActionListener(new   ActionListener()   { 
                        public   void   actionPerformed(ActionEvent   e)   { 
                                showMessage(); 
                        } 
                }); 
                pop.add(show); 
                pop.add(exit); 
                pop.add(author); 
        } 
        /** 
          *   顯示信息 
          */ 
        private   void   showMessage(){ 
                JOptionPane.showMessageDialog(this,   new   JLabel(" <html >作者:mq612(五斗米) <br >Blog:http://blog.csdn.net/mq612 </html >"),   "五斗米",   JOptionPane.INFORMATION_MESSAGE); 
        } 

        public   static   void   main(String[]   args)   { 
                new   TrayDemo(); 
        } 

} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久久久久院品网 | 天天av天天翘天天综合网 | 中文乱码免费一区二区| 91美女在线观看| 国内一区二区在线| 五月婷婷激情综合网| 国产精品乱码人人做人人爱| 91精品免费观看| 99精品欧美一区| 国内精品伊人久久久久av一坑 | 欧美电影精品一区二区| 不卡视频免费播放| 久久99精品久久久久久| 婷婷亚洲久悠悠色悠在线播放| 欧美国产激情一区二区三区蜜月| 91精品欧美福利在线观看| 91片在线免费观看| 国产超碰在线一区| 久久99精品久久久久久国产越南| 亚洲r级在线视频| 亚洲日穴在线视频| 日本一区二区三级电影在线观看| 日韩一级二级三级精品视频| 欧美三区在线观看| 色婷婷av久久久久久久| k8久久久一区二区三区 | 美女www一区二区| 亚洲va欧美va人人爽午夜| 亚洲精品一二三| 亚洲欧美日韩小说| 亚洲欧洲av在线| 久久精品欧美日韩精品| 欧美精品一区二区三区在线播放| 91精品国产综合久久国产大片| 欧美理论电影在线| 欧美日韩国产高清一区二区| 欧美日韩中文字幕精品| 欧美主播一区二区三区美女| 色婷婷一区二区| 91精品1区2区| 欧美日韩中文字幕一区二区| 欧美男人的天堂一二区| 777午夜精品免费视频| 91.com视频| 欧美成人aa大片| 久久精品免费在线观看| 国产欧美一区二区三区网站| 国产日韩成人精品| 国产精品麻豆欧美日韩ww| 亚洲日本免费电影| 亚洲欧美另类图片小说| 亚洲自拍另类综合| 丝袜国产日韩另类美女| 老司机精品视频一区二区三区| 国产一区二区三区四区五区美女| 国产在线观看一区二区| 国产美女主播视频一区| 国产成人精品免费在线| 91网上在线视频| 欧美视频一区在线观看| 欧美一区二区性放荡片| 久久综合狠狠综合久久综合88 | 亚洲综合久久av| 人禽交欧美网站| 国产一区二区视频在线| www.综合网.com| 欧美三电影在线| 久久久综合激的五月天| 国产精品毛片无遮挡高清| 一区二区三区波多野结衣在线观看| 亚洲一区二区成人在线观看| 麻豆精品一区二区三区| 国产1区2区3区精品美女| 91成人网在线| 精品成人在线观看| 亚洲柠檬福利资源导航| 免费欧美在线视频| 成人国产在线观看| 欧美丰满一区二区免费视频 | 国产精品人妖ts系列视频| 一区二区三区日韩精品视频| 日本成人在线电影网| 不卡在线观看av| 日韩一二在线观看| 国产精品免费免费| 午夜精品福利在线| 国产98色在线|日韩| 欧美日韩久久久| 国产欧美久久久精品影院| 午夜精品一区二区三区电影天堂 | 色婷婷狠狠综合| 久久综合九色综合97_久久久| 一区二区久久久久| 国产乱码精品一区二区三区忘忧草| 在线精品国精品国产尤物884a| 精品国产乱子伦一区| 一区二区成人在线观看| 国产一区二区三区在线观看精品 | 欧美成人性福生活免费看| 国产精品每日更新在线播放网址| 免费成人你懂的| 色88888久久久久久影院野外 | 亚洲精品亚洲人成人网在线播放| 久久精品国产77777蜜臀| 91九色02白丝porn| 国产精品久久久久影院亚瑟| 黄色资源网久久资源365| 欧美精品在线观看播放| 国产精品理论片| 国产精品538一区二区在线| 欧美一区午夜精品| 亚洲精品中文在线| 成人h动漫精品一区二| 欧美成va人片在线观看| 亚洲成av人片| 欧洲激情一区二区| 亚洲四区在线观看| 成人精品电影在线观看| 国产天堂亚洲国产碰碰| 麻豆91在线播放免费| 欧美三级三级三级爽爽爽| 亚洲色图欧洲色图| 丁香激情综合五月| 国产女同互慰高潮91漫画| 国产在线精品一区二区夜色| 日韩一区二区三区av| 日本不卡在线视频| 欧美一卡二卡在线观看| 午夜激情久久久| 精品视频色一区| 亚洲午夜精品在线| 欧美三级日本三级少妇99| 亚洲综合图片区| 欧美性猛交xxxx乱大交退制版| 亚洲激情中文1区| 91在线视频免费观看| 亚洲免费在线视频一区 二区| 成人ar影院免费观看视频| 中文字幕一区在线观看视频| 成人激情免费网站| 国产精品免费丝袜| 色av成人天堂桃色av| 五月天网站亚洲| 欧美高清视频一二三区 | 欧美日韩国产高清一区二区三区 | 99精品视频免费在线观看| 亚洲欧洲日产国产综合网| 91麻豆视频网站| 一区二区三区丝袜| 91.com在线观看| 国产一区二区三区在线观看免费视频| 国产亚洲精品资源在线26u| 成人妖精视频yjsp地址| 最新久久zyz资源站| 色婷婷精品大视频在线蜜桃视频 | 国产成人在线网站| 中文字幕制服丝袜成人av| 欧美亚洲禁片免费| 免费观看在线色综合| 久久婷婷一区二区三区| 不卡免费追剧大全电视剧网站| 一区二区三区美女视频| 91精品欧美久久久久久动漫| 国内偷窥港台综合视频在线播放| 久久久国产一区二区三区四区小说 | 中文av一区二区| 91久久久免费一区二区| 奇米影视一区二区三区| 国产亚洲精品7777| 一本到三区不卡视频| 琪琪久久久久日韩精品| 欧美国产一区在线| 欧美系列一区二区| 国产一区激情在线| 亚洲综合小说图片| 日韩一区二区三区电影 | 在线精品亚洲一区二区不卡| 看国产成人h片视频| 国产精品欧美一级免费| 91精品福利在线一区二区三区| 成人性生交大片免费看中文| 偷拍亚洲欧洲综合| 日本一区二区三区四区| 在线综合视频播放| 99在线精品免费| 蜜臀av一区二区三区| 亚洲男人的天堂在线观看| 日韩一区二区电影| 在线观看亚洲精品| 国产精品99久久不卡二区| 亚洲18影院在线观看| 1024精品合集| 欧美精品一区在线观看| 欧美日韩一本到| 成人av动漫在线| 美女视频黄 久久| 午夜精品久久久久久久久久| 中文字幕一区二区5566日韩| 日韩一区二区免费视频| 欧美性视频一区二区三区|