Java 기본 API는 애플리케이션에 대한 전역 단축키 설정을 지원하지 않습니다. 글로벌 단축키를 구현하려면 JNI를 사용해야 하는데, 여기에는 C/C++ 코드 작성이 포함되는데, 이는 C/C++에 익숙하지 않은 대부분의 Java 사용자에게는 다소 어려운 작업입니다. 다행스럽게도 해외의 누군가가 이미 이를 구현하여 타사 Java 패키지로 게시했습니다. 이를 통해 C/C++ 코드를 작성하지 않고도 전역 단축키를 쉽게 설정할 수 있습니다.
현재 jintellitype 공식 웹사이트에 접속할 수 없는 것 같습니다: //www.VeVB.COm/softs/217788.html.
Jintellitype은 두 부분으로 구성됩니다. 하나는 Java로 작성된 jintellityp jar 파일이고, 다른 하나는 C/C++로 작성된 컴파일된 dll 파일입니다. 32비트 및 64비트 시스템용 dll 파일이 하나 있습니다. jintellitype을 사용하는 과정에서 프로젝트에 jintellitype jar 파일을 빌드한 후 dll 파일을 어디에 넣어야 할지 몰라 실행해 보았는데, 오류 메시지에 따르면 dll 파일이 필요한 것으로 나타났습니다. 프로젝트 com.melloware.jintellitype 패키지 아래에 배치됩니다. 프로그램이 32비트 및 64비트 시스템 모두와 호환되고 추가 처리가 필요하지 않도록 두 dll 파일을 동시에 추가하는 것이 좋습니다.
내 작은 데모 코드를 붙여넣으세요.
package com.jebysun.globlehotkey; import java.awt.event.ActionEvent; import javax.swing.JButton; .JOptionPane; 수입 com.melloware.jintellitype.HotkeyListener; com.melloware.jintellitype.JIntellitype; /** * 전역 단축키 설정을 구현하려면 JIntellitype을 사용하세요.* @author Jeby Sun * */ public class GlobleHotKeyDemo extends JFrame { private static final long serialVersionUID = 1L; 단축키, 이벤트 처리에서 사용자가 누른 단축키를 구별합니다. public static final int FUNC_KEY_MARK = 1 public static final int; EXIT_KEY_MARK = 0; JButton 이탈Btn; public GlobleHotKeyDemo() { this.setTitle("전역 단축키 설정"); this.setBounds(100, 100, 600, 400); JFrame.EXIT_ON_CLOSE); msgBtn = new JButton("팝업 상자(Alt+S)"); //버튼 여백 설정 msgBtn.setMargin(new Insets(0,0,0,0)) msgBtn.setFocusable(false); (20, 20, 120, 30); msgBtn.addActionListener(새 ActionListener() { @Override public void actionPerformed(ActionEvent e) { showMessage() } }); this.add(msgBtn) = new JButton("Exit (Alt+Q)"); 0,0,0));exitBtn.setFocusable(false); 120, 30);exitBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); //1단계: 단축키 등록 첫 번째 매개변수는 단축키의 식별을 나타냅니다. 두 번째 매개변수는 키 조합을 나타냅니다. 그렇지 않으면 0입니다. 세 번째 매개변수는 JIntellitype.getInstance() .registerHotKey입니다. (FUNC_KEY_MARK, JIntellitype.MOD_ALT, (int)'S') JIntellitype.getInstance().registerHotKey(EXIT_KEY_MARK, JIntellitype.MOD_ALT, (int)'Q'); //2단계: 핫키 리스너 추가 JIntellitype.getInstance().addHotKeyListener(new HotkeyListener() { @Override public void onHotKey(int markCode) { switch (markCode) { case FUNC_KEY_MARK: showMessage(); 케이스 EXIT_KEY_MARK: System.exit(0); } } }); this.setVisible(true) } public void showMessage() { JOptionPane.showMessageDialog(null, "창을 최소화하더라도 Alt+S 단축키를 누르면 프롬프트 상자가 나타납니다! ", "팝업 상자 제목", JOptionPane.INFORMATION_MESSAGE); } public static void main(String[] args) { new GlobleHotKeyDemo(); } }
실제로 jintellitype을 사용하는 것은 매우 간단합니다. 단 3단계만 거치면 됩니다.
1단계: jar 패키지 및 dll 파일을 추가합니다.
2단계: 단축키를 등록하세요.
3단계: 핫키 리스너를 추가하고 인터페이스 메소드를 구현합니다.