一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - 第三方包jintellitype實現(xiàn)Java設(shè)置全局熱鍵

第三方包jintellitype實現(xiàn)Java設(shè)置全局熱鍵

2019-11-28 14:22hebedich JAVA教程

本文主要介紹了,在java中使用第三方插件包jintellitype來實現(xiàn)全局熱鍵,非常的簡單,但是很實用,有需要的朋友可以參考下,歡迎一起來參與改進(jìn)此項目

Java原生API并不支持為應(yīng)用程序設(shè)置全局熱鍵。要實現(xiàn)全局熱鍵,需要用JNI方式實現(xiàn),這就涉及到編寫C/C++代碼,這對于大多數(shù)不熟悉C/C++的javaer來說,有點困難。不過幸好,國外有人已經(jīng)實現(xiàn)了,發(fā)布成第三方j(luò)ava包,借此,我們可以很方便的設(shè)置全局熱鍵而不用編寫任何C/C++代碼。

  jintellitype官網(wǎng)貌似目前訪問不到。

  jintellitype由兩部分組成,一部分是java寫的jintellityp的jar文件,另一部分是C/C++寫的已編譯好的dll文件,有兩個dll文件,分別是32位和64位系統(tǒng)的。在我使用jintellitype的過程中,把jintellitype的jar文件Build進(jìn)項目后,不知道dll文件放哪,我試著運行,根據(jù)錯誤提示,原來需要把dll文件放到項目com.melloware.jintellitype包下。建議同時把兩個dll文件都加進(jìn)去,這樣,你的程序就可以同時兼容32位和64位系統(tǒng),而你不需要任何額外的處理。

  貼上我的小demo代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.jebysun.globlehotkey;
 
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
 
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.JIntellitype;
 
/**
* 利用JIntellitype實現(xiàn)全局熱鍵設(shè)置
* @author Jeby Sun
*
*/
public class GlobleHotKeyDemo extends JFrame {
 
  private static final long serialVersionUID = 1L;
  
  //定義熱鍵標(biāo)識,用于在設(shè)置多個熱鍵時,在事件處理中區(qū)分用戶按下的熱鍵
  public static final int FUNC_KEY_MARK = 1;
  public static final int EXIT_KEY_MARK = 0;
  
  JButton msgBtn;
  JButton exitBtn;
 
  public GlobleHotKeyDemo() {
    this.setTitle("全局熱鍵設(shè)置");
    this.setBounds(100, 100, 600, 400);
    this.setLayout(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    msgBtn = new JButton("彈出框(Alt+S)");
    //設(shè)置按鈕邊距
    msgBtn.setMargin(new Insets(0,0,0,0));
    msgBtn.setFocusable(false);
    msgBtn.setBounds(20, 20, 120, 30);
    msgBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        showMessage();
      }
    });
    this.add(msgBtn);
    
    exitBtn = new JButton("退出(Alt+Q)");
    exitBtn.setMargin(new Insets(0,0,0,0));
    exitBtn.setFocusable(false);
    exitBtn.setBounds(160, 20, 120, 30);
    exitBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        System.exit(0);
      }
    });
    this.add(exitBtn);
    
    //第一步:注冊熱鍵,第一個參數(shù)表示該熱鍵的標(biāo)識,第二個參數(shù)表示組合鍵,如果沒有則為0,第三個參數(shù)為定義的主要熱鍵
    JIntellitype.getInstance().registerHotKey(FUNC_KEY_MARK, JIntellitype.MOD_ALT, (int)'S');
    JIntellitype.getInstance().registerHotKey(EXIT_KEY_MARK, JIntellitype.MOD_ALT, (int)'Q');
    
    //第二步:添加熱鍵監(jiān)聽器
    JIntellitype.getInstance().addHotKeyListener(new HotkeyListener() {
      
      @Override
      public void onHotKey(int markCode) {
        switch (markCode) {
        case FUNC_KEY_MARK:
          showMessage();
          break;
        case EXIT_KEY_MARK:
          System.exit(0);
          break
        }        
      }
    });
    
    this.setVisible(true);
  }
  
  public void showMessage() {
    JOptionPane.showMessageDialog(null, "就算把窗口最小化,按快捷鍵Alt+S也可以彈出提示框哦!", "彈出框標(biāo)題", JOptionPane.INFORMATION_MESSAGE);
  }
  
  public static void main(String[] args) {
    new GlobleHotKeyDemo();
  }
}

其實,jintellitype的使用非常簡單,就3個步驟:

第一步:添加jar包和dll文件;

第二步:注冊熱鍵;

第三步:添加熱鍵監(jiān)聽器,實現(xiàn)接口的方法;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 小早川怜子亚洲综合中文字幕 | 午夜福利理论片在线播放 | 91久久偷偷做嫩草影院电 | 四虎免费影院4hu永久免费 | 亚洲天堂影院在线观看 | 亚洲成av人片在线观看天堂无码 | 日本国产一区二区三区 | 欧美一级片在线视频 | 日韩国产成人精品视频人 | 日本福利网 | 91精品国产高清久久久久 | 三级黄色图片 | 久久久GOGO无码啪啪艺术 | 天天色视频| 3d动漫h在线观看网站蜜芽 | 97综合| 午夜影院费试看黄 | 久久精品视频在线看 | 国产日韩欧美色视频色在线观看 | 狠狠色婷婷 | 古代翁熄系小说辣文 | 亚洲精品国产成人99久久 | 亚洲欧美7777 | 忘忧草高清 | 无限好资源第一片免费韩国 | 亚洲精品视频导航 | 奇米成人 | 处女私拍| 国内精品自产拍在线观看91 | 国产精品制服丝袜白丝www | 九色PORNY真实丨国产免费 | 日韩中文字幕一区 | 国产靠逼视频 | 美女脱了内裤让男生玩屁股 | 精品AV亚洲乱码一区二区 | 欧美一区二区三区四区五区六区 | 99国产精品热久久久久久夜夜嗨 | 亚洲美色综合天天久久综合精品 | ts视频在线观看 | 好爽好深好猛好舒服视频上 | 免费看a视频|