最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于java開發(fā)之系統(tǒng)托盤的應(yīng)用

 更新時間:2013年05月02日 16:52:16   作者:  
本篇文章介紹了,基于java開發(fā)之系統(tǒng)托盤的應(yīng)用。需要的朋友參考下

項目結(jié)構(gòu):

運行效果:

========================================================================

下面是代碼部分

========================================================================

/tray/src/com/b510/tray托盤/DesktopCapture.java

復(fù)制代碼 代碼如下:

package com.b510.tray托盤;

 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;

 import javax.swing.JFrame;
 import javax.swing.JOptionPane;
 import javax.swing.UIManager;

 public class DesktopCapture extends JFrame implements ActionListener {

     /**
      * 1.改變雙擊托盤截圖為單擊托盤截圖 2.修復(fù)了托盤后無反應(yīng)BUG 3.將放大鏡提示框移至左上角和右上角
      */
     private static final long serialVersionUID = 1L;
     // JButton confirm;
     // BufferedImage desktopImg;
     MyTray tray;
     boolean iconed = false;

     public DesktopCapture() {
         super("EasyCapture");
         init();
         // 當(dāng)點擊"-"最小化按鈕時,系統(tǒng)會最小化到托盤
         addWindowListener(new WindowAdapter() {
             public void windowIconified(WindowEvent e) {
                 iconed = true;
                 setVisible(false);
             }

             // 當(dāng)點擊"X"關(guān)閉窗口按鈕時,會詢問用戶是否要最小化到托盤
             // 是,表示最小化到托盤,否,表示退出
             public void windowClosing(WindowEvent e) {
                 int option = JOptionPane.showConfirmDialog(DesktopCapture.this,
                         "是否最小化到托盤?", "提示:", JOptionPane.YES_NO_OPTION);
                 if (option == JOptionPane.YES_OPTION) {
                     iconed = true;
                     setVisible(false);
                 } else {
                     System.exit(0);
                 }
             }
         });
         pack();
         setSize(350, 230);
         setLocation(500, 300);
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
         setResizable(false);
         setVisible(true);
     }

     void init() {

         tray = new MyTray(DesktopCapture.this);
     }

     // 截圖
     public void capture() {

     }

     public static void main(String[] args) {
         // TODO Auto-generated method stub
         try {
             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
             DesktopCapture desk = new DesktopCapture();
         } catch (Exception e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }

     }

     @Override
     public void actionPerformed(ActionEvent e) {

     }

 }

/tray/src/com/b510/tray托盤/MyTray.java
復(fù)制代碼 代碼如下:

package com.b510.tray托盤;

 import java.awt.AWTException;
 import java.awt.Image;
 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.MouseEvent;
 import java.awt.event.MouseListener;

 import javax.swing.ImageIcon;
 import javax.swing.JFrame;

 public class MyTray implements ActionListener, MouseListener {
     private Image icon;// 圖標(biāo)
     private TrayIcon trayIcon;
     private SystemTray systemTray;// 系統(tǒng)托盤

     private DesktopCapture frame; // 托盤所屬主窗體
     private PopupMenu pop = new PopupMenu(); // 彈出菜單
     private MenuItem capture = new MenuItem("capture");
     private MenuItem show = new MenuItem("open");
     private MenuItem exit = new MenuItem("exit");

     public MyTray(DesktopCapture frame) {
         this.frame = frame;
         // icon = Toolkit.getDefaultToolkit().getImage("./images/xiaomai.png");
         icon = new ImageIcon(this.getClass().getClassLoader().getResource(
                 "image/xiaomai.png")).getImage();

         if (SystemTray.isSupported()) {
             systemTray = SystemTray.getSystemTray();
             trayIcon = new TrayIcon(icon, "單擊直接截圖-EasyCapture", pop);
             pop.add(capture);
             pop.add(show);
             pop.add(exit);

             try {
                 systemTray.add(trayIcon);
             } catch (AWTException e1) {
                 e1.printStackTrace();
                 trayIcon.addMouseListener(this);
             }
         }
         trayIcon.addMouseListener(this);
         show.addActionListener(this);
         exit.addActionListener(this);
         capture.addActionListener(this);
     }

     @Override
     public void actionPerformed(ActionEvent e) {
         if (e.getSource() == show) {
             frame.iconed = false;
             frame.setVisible(true);
             frame.setExtendedState(JFrame.NORMAL);
         } else if (e.getSource() == capture) {
             frame.capture();
         } else {
             System.exit(0);
         }

     }

     // ����¼�
     @Override
     public void mouseClicked(MouseEvent e) {
         if (e.getClickCount() == 1 && e.getButton() != MouseEvent.BUTTON3) {
             frame.capture();
         }
     }

     @Override
     public void mouseEntered(MouseEvent arg0) {
         // TODO Auto-generated method stub

     }

     @Override
     public void mouseExited(MouseEvent arg0) {
         // TODO Auto-generated method stub

     }

     @Override
     public void mousePressed(MouseEvent arg0) {
         // TODO Auto-generated method stub

     }

     @Override
     public void mouseReleased(MouseEvent arg0) {
         // TODO Auto-generated method stub

     }
 }

相關(guān)文章

  • Spring Boot實現(xiàn)自動發(fā)送郵件

    Spring Boot實現(xiàn)自動發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了Spring Boot實現(xiàn)自動發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 詳解Java中方法重寫和方法重載的6個區(qū)別

    詳解Java中方法重寫和方法重載的6個區(qū)別

    方法重寫和方法重載都是面向?qū)ο缶幊讨校敲捶椒ㄖ貙懞头椒ㄖ剌d有哪些區(qū)別,本文就詳細(xì)的來介紹一下,感興趣的可以了解一下
    2022-01-01
  • java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)

    java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)

    這篇文章主要給大家介紹了關(guān)于java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • Java經(jīng)典面試題最全匯總208道(二)

    Java經(jīng)典面試題最全匯總208道(二)

    這篇文章主要介紹了Java經(jīng)典面試題最全匯總208道(二),本文章內(nèi)容詳細(xì),該模塊分為了六個部分,本次為第二部分,需要的朋友可以參考下<BR>
    2023-01-01
  • java源碼解析之String類的compareTo(String otherString)方法

    java源碼解析之String類的compareTo(String otherString)方法

    這篇文章主要給大家介紹了關(guān)于java源碼解析之String類的compareTo(String otherString)方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • spring-session自定義序列化方式

    spring-session自定義序列化方式

    這篇文章主要介紹了spring-session自定義序列化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • MyBatis實現(xiàn)SQL映射文件

    MyBatis實現(xiàn)SQL映射文件

    映射器是 MyBatis 中最復(fù)雜并且是最重要的組件,本文主要介紹了MyBatis實現(xiàn)SQL映射文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • 全面解析java中的hashtable

    全面解析java中的hashtable

    以下是對java中的hashtable進(jìn)行了詳細(xì)的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • springmvc實現(xiàn)簡單的攔截器

    springmvc實現(xiàn)簡單的攔截器

    這篇文章主要為大家詳細(xì)介紹了springmvc實現(xiàn)簡單攔截器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 淺談Java中的URL和URLConnection

    淺談Java中的URL和URLConnection

    這篇文章主要介紹了淺談Java中的URL和URLConnection,URL代表的是一種資源,它使用的是統(tǒng)一資源定位格式, 其實我們還可以用URL來構(gòu)造對象的,java中有大量的構(gòu)造函數(shù)允許使用一個個的分串來指定URL,需要的朋友可以參考下
    2023-08-08

最新評論

库车县| 进贤县| 武威市| 张家界市| 靖边县| 鄂伦春自治旗| 浮山县| 滕州市| 长乐市| 安阳县| 双城市| 玉屏| 通渭县| 论坛| 岑巩县| 隆子县| 万宁市| 长垣县| 馆陶县| 普兰县| 田东县| 宁国市| 穆棱市| 宜川县| 汶上县| 乌什县| 临澧县| 阳城县| 茂名市| 潞城市| 师宗县| 涪陵区| 运城市| 上饶县| 乌鲁木齐市| 大同县| 怀集县| 略阳县| 巴林右旗| 南雄市| 黑水县|