Java Native API ไม่รองรับการตั้งค่าปุ่มลัดส่วนกลางสำหรับแอปพลิเคชัน หากต้องการใช้ปุ่มลัดส่วนกลาง คุณต้องใช้ JNI ซึ่งเกี่ยวข้องกับการเขียนโค้ด C/C++ ซึ่งเป็นเรื่องยากเล็กน้อยสำหรับ Javaers ส่วนใหญ่ที่ไม่คุ้นเคยกับ C/C++ โชคดีที่มีคนในต่างประเทศได้นำไปใช้แล้วและเผยแพร่เป็นแพ็คเกจจาวาของบุคคลที่สาม ด้วยวิธีนี้ เราจึงสามารถตั้งค่าปุ่มลัดทั่วโลกได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ด C/C++ ใดๆ
ดูเหมือนว่าเว็บไซต์อย่างเป็นทางการของ jintellitype ไม่สามารถเข้าถึงได้ในขณะนี้ ดาวน์โหลดได้ที่นี่: //www.VeVB.COm/softs/217788.html
Jintellitype ประกอบด้วยสองส่วน ส่วนแรกคือไฟล์ jar jintellityp ที่เขียนด้วยภาษา Java และอีกส่วนเป็นไฟล์ dll ที่คอมไพล์แล้วซึ่งเขียนด้วย C/C++ มีไฟล์ dll สองไฟล์ หนึ่งไฟล์สำหรับระบบ 32 บิตและ 64 บิต ในกระบวนการใช้ jintellitype หลังจากสร้างไฟล์ jar jintellitype ลงในโปรเจ็กต์ ฉันไม่รู้ว่าจะวางไฟล์ dll ไว้ที่ไหน ฉันพยายามเรียกใช้ ตามข้อความแสดงข้อผิดพลาด ปรากฎว่าจำเป็นต้องใช้ไฟล์ dll อยู่ภายใต้โครงการ com.melloware.jintellitype package ขอแนะนำให้เพิ่มไฟล์ dll ทั้งสองไฟล์พร้อมกัน เพื่อให้โปรแกรมของคุณสามารถทำงานร่วมกับระบบทั้ง 32 บิตและ 64 บิต และคุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม
วางโค้ดสาธิตเล็กๆ ของฉัน:
แพ็คเกจ com.jebysun.globlehotkey; นำเข้า java.awt.JButton; นำเข้า java.swing.JFrame; .JOptionPane; นำเข้า com.melloware.jintellitype.HotkeyListener; com.melloware.jintellitype.JIntellitype; /** * ใช้ JIntellitype เพื่อใช้การตั้งค่าฮอตคีย์ทั่วโลก* @ผู้เขียน Jeby Sun * */ คลาสสาธารณะ GlobleHotKeyDemo ขยาย JFrame { private static สุดท้ายแบบยาว serialVersionUID = 1L; ปุ่มลัด แยกแยะปุ่มลัดที่ผู้ใช้กดในเหตุการณ์การจัดการ public static สุดท้าย int FUNC_KEY_MARK = 1; EXIT_KEY_MARK = 0; JButton msgBtn; JButton exitBtn; สาธารณะ GlobleHotKeyDemo() { this.setTitle("การตั้งค่าคีย์ลัดสากล"); this.setBounds(100, 100, 600, 400); this.setLayout(null) JFrame.EXIT_ON_CLOSE); msgBtn = new JButton("กล่องป๊อปอัป (Alt+S)"); // ตั้งค่าระยะขอบของปุ่ม msgBtn.setMargin(การแทรกใหม่ (0,0,0,0)); ( 20, 20, 120, 30); msgBtn.addActionListener(ใหม่ ActionListener() { @แทนที่การกระทำที่เป็นโมฆะสาธารณะ (ActionEvent e) { showMessage(); this.add(msgBtn); exitBtn = new JButton("Exit (Alt+Q)"); 0,0,0)); exitBtn.setFocusable(เท็จ); exitBtn.setBounds(160, 20, 120, 30); exitBtn.addActionListener (ใหม่ ActionListener () { @ แทนที่การกระทำที่เป็นโมฆะสาธารณะ (ActionEvent e) { System.exit (0); } }); //ขั้นตอนที่ 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(); ตัวพิมพ์ EXIT_KEY_MARK: System.exit(0); } } }); this.setVisible(true); } public void showMessage() { JOptionPane.showMessageDialog(null, "แม้ว่าคุณจะย่อหน้าต่างให้เล็กสุด ให้กดปุ่มลัด Alt+S เพื่อแสดงกล่องข้อความแจ้ง! ", "ชื่อกล่องป๊อปอัป", JOptionPane.INFORMATION_MESSAGE); } โมฆะสาธารณะคงที่ main(String[] args) { new GlobleHotKeyDemo(); } }
ที่จริงแล้ว การใช้ jintellitype นั้นง่ายมาก เพียง 3 ขั้นตอน:
ขั้นตอนที่ 1: เพิ่มแพ็คเกจ jar และไฟล์ dll
ขั้นตอนที่ 2: ลงทะเบียนปุ่มลัด
ขั้นตอนที่ 3: เพิ่มตัวฟังฮอตคีย์และใช้วิธีการอินเทอร์เฟซ