摘要:掃描槍讀取的數據,通常自帶回車。開發相關系統時,需要編寫一個模擬掃描槍的。將作為按鈕的事件監聽器。設計時,就有兩個選項在后是否自帶回車。推薦一款適合二次開發的掃描槍迷你條碼掃描槍
掃描槍讀取的數據,通常自帶回車。開發相關系統時,需要編寫一個模擬掃描槍的QRReaderDialog。java.awt.RobotJTextField作為數據接受控件,在它上面按下Enter鍵,可以監聽Action事件或Key事件;而“按下Enter鍵”,就需要用到java.awt.Robot。一個小例子:在Netbeans中編寫的InputDemo
package demo; import com.sun.glass.events.KeyEvent; import java.awt.Robot; /** * * @author yqj2065 */ public class InputDemo extends javax.swing.JFrame { private final Robot robot; public InputDemo() throws Exception { robot = new Robot(); //創建一個robot對象 initComponents(); } public void keyPress(int key) { robot.delay(50); robot.keyPress(key); robot.keyRelease(key); } private void initComponents() { //略 } private void input_TextFieldKeyPressed(java.awt.event.KeyEvent evt) { if (KeyEvent.VK_ENTER == evt.getKeyCode()) { KeyPressed_Label.setText(input_TextField.getText()); } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { int i = (int) (Math.random() * 10000000) + 1; String str = i + "二維碼數據"; input_TextField.setText(str); input_TextField.requestFocus(); this.keyPress(java.awt.event.KeyEvent.VK_ENTER); } private void input_TextFieldActionPerformed(java.awt.event.ActionEvent evt) { ActionPerformed_Label.setText(input_TextField.getText()); } /** * @param args the command line arguments */ public static void main(String args[]) {//略 } // Variables declaration - do not modify private javax.swing.JLabel ActionPerformed_Label; private javax.swing.JLabel KeyPressed_Label; private javax.swing.JTextField input_TextField; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; // End of variables declaration }
2.QRReaderDialog與MyJTextField
QRReaderDialog是一個簡單的對話框,點擊其上的Read once按鈕,產生一條字符串——表示讀取的二維碼信息。MyJTextField將作為Read once按鈕的Action事件監聽器。設計MyJTextField時,就有兩個選項:MyJTextField在setText(qrCode)后是否自帶回車。如果自帶回車,裝箱操作窗口將監聽MyJTextField的Action事件或Key事件;不自帶回車,裝箱操作窗口將監聽MyJTextField的內容變化事件,即對MyJTextField對象inputTextField,調用下面的語句:inputTextField.getDocument().addDocumentListener(new MyDocumentListenerImpl());兩種方式都可以達到目的,前者使用java.awt.Robot,后者要自定義MyDocumentListener implements javax.swing.event.DocumentListener ,并給出其實現類。
package qrms.ui.util; import javax.swing.event.DocumentEvent; /** * * @author yqj2065 */ public abstract class MyDocumentListener implements javax.swing.event.DocumentListener { public abstract void textChangedHandle(); @Override public void insertUpdate(DocumentEvent e) { textChangedHandler(); } @Override public void removeUpdate(DocumentEvent e) { } @Override public void changedUpdate(DocumentEvent e) { } }
推薦一款適合二次開發的掃描槍:MS3398迷你條碼掃描槍
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67337.html
摘要:一背景筆者月份在慕課網錄制視頻教程跨站漏洞加強安全里面需要講到很多實戰案例,在漏洞挖掘案例中分為了手工挖掘工具挖掘代碼審計三部分內容手工挖掘篇參考地址為快速找出網站中可能存在的漏洞實踐一本文主要記錄利用安全工具進行漏洞挖掘部分,分為了設置代 一、背景 筆者6月份在慕課網錄制視頻教程XSS跨站漏洞 加強Web安全,里面需要講到很多實戰案例,在漏洞挖掘案例中分為了手工挖掘、工具挖掘、代碼審...
摘要:沒有提供一種安全直接的方法來停止某個線程,但是提供了中斷機制。中斷的原理中斷機制是一種協作機制,也就是說通過中斷并不能直接終止另一個線程,而需要被中斷的線程自己處理中斷。線程的中斷狀態由該方法清除。測試線程是否已經中斷。 1. 引言 當我們點擊某個殺毒軟件的取消按鈕來停止查殺病毒時,當我們在控制臺敲入quit命令以結束某個后臺服務時……都需要通過一個線程去取消另一個線程正在執行的任務...
閱讀 2168·2021-11-24 09:39
閱讀 2781·2021-07-29 13:49
閱讀 2322·2019-08-29 14:15
閱讀 2233·2019-08-29 12:40
閱讀 3312·2019-08-26 13:42
閱讀 632·2019-08-26 12:13
閱讀 2065·2019-08-26 11:41
閱讀 3345·2019-08-23 18:32