لا تدعم واجهة برمجة تطبيقات Java الأصلية إعداد مفاتيح الاختصار العامة للتطبيقات. لتنفيذ مفاتيح التشغيل السريع العالمية، تحتاج إلى استخدام JNI، والذي يتضمن كتابة كود C/C++، وهو أمر صعب بعض الشيء بالنسبة لمعظم جافارز الذين ليسوا على دراية بـ C/C++. لحسن الحظ، قام شخص ما في الخارج بتنفيذها بالفعل ونشرها كحزمة جافا لجهة خارجية، حيث يمكننا بسهولة تعيين مفاتيح الاختصار العالمية دون كتابة أي كود C/C++.
يبدو أن الموقع الرسمي لـ jintellitype لا يمكن الوصول إليه حاليًا. التنزيل متاح هنا: //www.VeVB.COm/softs/217788.html.
يتكون Jintellitype من جزأين، أحدهما هو ملف jintellityp jar المكتوب بلغة Java، والآخر هو ملف dll المترجم المكتوب بلغة C/C++. هناك ملفان dll، أحدهما لأنظمة 32 بت و64 بت. في عملية استخدام jintellitype، بعد إنشاء ملف jintellitype jar في المشروع، لم أكن أعرف مكان وضع ملف dll، وحاولت تشغيله وفقًا لرسالة الخطأ، وتبين أن ملف dll مطلوب يتم وضعها ضمن حزمة المشروع com.melloware.jintellitype. يوصى بإضافة كلا الملفين dll في نفس الوقت، حتى يكون برنامجك متوافقًا مع نظامي 32 بت و64 بت، ولا تحتاج إلى أي معالجة إضافية.
الصق الكود التجريبي الصغير الخاص بي:
package com.jebysun.globlehotkey; import java.awt.Insets; import java.awt.event.ActionEvent; import javax.swing; .JOptionPane import 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; JButton msgBtn; public GlobleHotKeyDemo() { this.setTitle("إعدادات مفتاح التشغيل السريع"); 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(new ActionListener()); { @Override public void actionPerformed(ActionEvent e) { showMessage() } }); exitBtn = 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); } }); this.add(exitBtn); // الخطوة 1: تسجيل مفتاح التشغيل السريع. تمثل المعلمة الأولى تعريف مفتاح التشغيل السريع. وتمثل المعلمة الثانية مجموعة المفاتيح. إذا لم يكن الأمر كذلك، فهي 0. المعلمة الثالثة هي مفتاح التشغيل السريع المحدد (). (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(); } } }); 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: إضافة مستمع مفتاح التشغيل السريع وتنفيذ طريقة الواجهة؛