Java ネイティブ API は、アプリケーションのグローバル ホットキーの設定をサポートしていません。グローバル ホットキーを実装するには、JNI を使用する必要があります。これには C/C++ コードの記述が必要ですが、C/C++ に慣れていないほとんどの Java 使用者にとっては少し難しいことです。幸いなことに、海外の誰かがすでにこれを実装し、サードパーティの Java パッケージとして公開しています。これを使用すると、C/C++ コードを書かずにグローバル ホットキーを簡単に設定できます。
jintellitype の公式 Web サイトは現在アクセスできないようです: //www.VeVB.COm/softs/217788.html からダウンロードできます。
Jintellitype は 2 つの部分で構成されており、1 つは Java で記述された jintellityp jar ファイルで、もう 1 つは C/C++ で記述されたコンパイル済み DLL ファイルです。32 ビット システム用と 64 ビット システム用の 2 つの DLL ファイルがあります。 jintellitype を使用する過程で、jintellitype jar ファイルをプロジェクトにビルドした後、dll ファイルをどこに配置すればよいのかわかりませんでした。エラー メッセージによると、dll ファイルが必要であることがわかりました。プロジェクト com.melloware.jintellitype パッケージの下に配置されます。プログラムが 32 ビット システムと 64 ビット システムの両方と互換性があり、追加の処理が必要ないように、両方の dll ファイルを同時に追加することをお勧めします。
私の小さなデモコードを貼り付けてください。
パッケージ com.jebysun.globlehotkey; インポート java.awt.event.ActionListener; インポート javax.swing.JFrame; .JOptionPane インポート com.melloware.jintellitype.HotkeyListener; com.melloware.jintellitype.JIntellitype; /** * JIntellitype を使用してグローバル ホットキー設定を実装します* @author Jeby Sun * */ public class GlobleHotKeyDemo extends JFrame { private staticfinallongserialVersionUID = 1L; //複数のホットキーを設定する場合のホットキー識別を定義します。ホットキー、イベント処理でユーザーが押したホットキーを区別します public static Final int FUNC_KEY_MARK = 1; EXIT_KEY_MARK = 0; JButton exitBtn; public GlobleHotKeyDemo() { this.setBounds(100, 100, 600, 400); this.setLayout(null); JFrame.EXIT_ON_CLOSE); msgBtn = new JButton("ポップアップ ボックス (Alt+S)"); // ボタンの余白を設定します msgBtn.setMargin(new Insets(0,0,0,0)) msgBtn.setBounds; ( 20, 20, 120, 30); msgBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showMessage(); } }); exitBtn("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 です。3 番目のパラメータは、定義されたメインのホットキーです。 (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: ホットキー リスナーを追加し、インターフェイス メソッドを実装します。