国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

使用Java實現系統托盤功能的介紹(附源碼以及截圖)

2019-11-26 16:07:47
字體:
來源:轉載
供稿:網友

Java中如何,實現系統托盤功能.

示例圖

項目包結構圖

 

系統運行截圖

應用核心邏輯說明,隱藏到托盤實質就是講窗體隱藏.即setVisible(false),顯示窗體即就是講setVisible(true).

項目代碼如下:

復制代碼 代碼如下:

package org.pdp.frame;

 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.net.URL;

 import javax.swing.ImageIcon;
 import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;

 
 public class MainFrame extends JFrame implements ActionListener{

     private static final long serialVersionUID = -7078030311369039390L;
     private JMenu menu;
     private JMenuBar jmenuBar;
     private String [] jmItemName = {"置于托盤","系統退出"};

     public MainFrame(){
         super("電話薄");
         init();
         this.setSize(500,400);
         this.setJMenuBar(jmenuBar);
         this.setLocationRelativeTo(null);
         systemTray();    //系統托盤
     }

     /**
      * 初始化界面
      */
     public void init(){
         menu = new JMenu("系統窗體");
         for(int i=0; i<jmItemName.length; i++){
             JMenuItem menuItem = new JMenuItem(jmItemName[i]);
             menuItem.addActionListener(this);
             menu.add(menuItem);
         }
         this.jmenuBar = new JMenuBar();
         this.jmenuBar.add(menu);
     }

     @Override
     public void actionPerformed(ActionEvent e) {
         String actions = e.getActionCommand();
         if("置于托盤".equals(actions)){
             this.setVisible(false);
         }
         if("系統退出".equals(actions)){
             System.exit(0);
         }

     }

     /**系統托盤圖標處理.*/
     private void  systemTray(){
         if(SystemTray.isSupported()){    //判斷系統是否支持托盤功能.
             URL resource = this.getClass().getResource("systray.jpg");    //獲得圖片路徑
             ImageIcon icon = new ImageIcon(resource); //創建圖片對象
             PopupMenu popupMenu = new PopupMenu(); //創建彈出菜單對象
             MenuItem itemExit = new MenuItem("退出系統");    //創建彈出菜單中的退出項
             MenuItem itemShow = new MenuItem("顯示窗體"); //創建彈出菜單中的顯示主窗體項.
             itemExit.addActionListener(new ActionListener() {     //給退出像添加事件監聽
                 @Override
                 public void actionPerformed(ActionEvent e) {
                     System.exit(0);
                 }           
             });
             itemShow.addActionListener(new ActionListener() { //給窗體最小化添加事件監聽.
                 @Override
                 public void actionPerformed(ActionEvent e) {
                     setVisible(true);
                 }
             });
             popupMenu.add(itemExit);
             popupMenu.add(itemShow);
             TrayIcon trayIcon = new TrayIcon(icon.getImage(),"電話薄系統",popupMenu);
             SystemTray sysTray = SystemTray.getSystemTray();
             try {
                 sysTray.add(trayIcon);
             } catch (AWTException e1) {    }
         }
     }

     /**
      * 主方法
      * @param args
      */
     public static void main(String[] args) {

         new MainFrame().setVisible(true);

     }

 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正定县| 乌拉特中旗| 大足县| 上高县| 政和县| 白沙| 本溪市| 湖南省| 峨眉山市| 五常市| 扎兰屯市| 顺昌县| 张掖市| 垫江县| 苏尼特左旗| 陆良县| 长丰县| 杂多县| 汕尾市| 南丰县| 来宾市| 兴城市| 苍南县| 海阳市| 崇州市| 曲阜市| 阿勒泰市| 成安县| 韩城市| 晴隆县| 大竹县| 巧家县| 文昌市| 桐梓县| 营山县| 定襄县| 慈溪市| 新沂市| 东源县| 阳新县| 永仁县|