摘要:掃描槍讀取的數(shù)據(jù),通常自帶回車。開(kāi)發(fā)相關(guān)系統(tǒng)時(shí),需要編寫一個(gè)模擬掃描槍的。將作為按鈕的事件監(jiān)聽(tīng)器。設(shè)計(jì)時(shí),就有兩個(gè)選項(xiàng)在后是否自帶回車。推薦一款適合二次開(kāi)發(fā)的掃描槍迷你條碼掃描槍
掃描槍讀取的數(shù)據(jù),通常自帶回車。開(kāi)發(fā)相關(guān)系統(tǒng)時(shí),需要編寫一個(gè)模擬掃描槍的QRReaderDialog。java.awt.RobotJTextField作為數(shù)據(jù)接受控件,在它上面按下Enter鍵,可以監(jiān)聽(tīng)Action事件或Key事件;而“按下Enter鍵”,就需要用到j(luò)ava.awt.Robot。一個(gè)小例子:在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(); //創(chuàng)建一個(gè)robot對(duì)象 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 + "二維碼數(shù)據(jù)"; 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是一個(gè)簡(jiǎn)單的對(duì)話框,點(diǎn)擊其上的Read once按鈕,產(chǎn)生一條字符串——表示讀取的二維碼信息。MyJTextField將作為Read once按鈕的Action事件監(jiān)聽(tīng)器。設(shè)計(jì)MyJTextField時(shí),就有兩個(gè)選項(xiàng):MyJTextField在setText(qrCode)后是否自帶回車。如果自帶回車,裝箱操作窗口將監(jiān)聽(tīng)MyJTextField的Action事件或Key事件;不自帶回車,裝箱操作窗口將監(jiān)聽(tīng)MyJTextField的內(nèi)容變化事件,即對(duì)MyJTextField對(duì)象inputTextField,調(diào)用下面的語(yǔ)句:inputTextField.getDocument().addDocumentListener(new MyDocumentListenerImpl());兩種方式都可以達(dá)到目的,前者使用java.awt.Robot,后者要自定義MyDocumentListener implements javax.swing.event.DocumentListener ,并給出其實(shí)現(xiàn)類。
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) { } }
推薦一款適合二次開(kāi)發(fā)的掃描槍:MS3398迷你條碼掃描槍
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67337.html
摘要:一背景筆者月份在慕課網(wǎng)錄制視頻教程跨站漏洞加強(qiáng)安全里面需要講到很多實(shí)戰(zhàn)案例,在漏洞挖掘案例中分為了手工挖掘工具挖掘代碼審計(jì)三部分內(nèi)容手工挖掘篇參考地址為快速找出網(wǎng)站中可能存在的漏洞實(shí)踐一本文主要記錄利用安全工具進(jìn)行漏洞挖掘部分,分為了設(shè)置代 一、背景 筆者6月份在慕課網(wǎng)錄制視頻教程XSS跨站漏洞 加強(qiáng)Web安全,里面需要講到很多實(shí)戰(zhàn)案例,在漏洞挖掘案例中分為了手工挖掘、工具挖掘、代碼審...
摘要:練習(xí)項(xiàng)目備選清單文件下載器功能概要設(shè)計(jì)實(shí)現(xiàn)新建下載功能以為基礎(chǔ)給出下載鏈接可以啟動(dòng)下載任務(wù)實(shí)現(xiàn)局域網(wǎng)內(nèi)下載傳輸文件以單線程下載方式實(shí)現(xiàn)附加功能支持?jǐn)帱c(diǎn)續(xù)傳實(shí)現(xiàn)多線程下載實(shí)現(xiàn)下載參考技術(shù)套接字編程多線程編程音視頻播放器功能概要設(shè)計(jì)實(shí)現(xiàn)播放常見(jiàn) 練習(xí)項(xiàng)目備選清單 Utilities 1. 文件下載器 功能概要設(shè)計(jì): 實(shí)現(xiàn)新建下載功能(以ftp為基礎(chǔ)) 給出下載鏈接可以啟動(dòng)下載任務(wù) 實(shí)現(xiàn)局...
摘要:練習(xí)項(xiàng)目備選清單文件下載器功能概要設(shè)計(jì)實(shí)現(xiàn)新建下載功能以為基礎(chǔ)給出下載鏈接可以啟動(dòng)下載任務(wù)實(shí)現(xiàn)局域網(wǎng)內(nèi)下載傳輸文件以單線程下載方式實(shí)現(xiàn)附加功能支持?jǐn)帱c(diǎn)續(xù)傳實(shí)現(xiàn)多線程下載實(shí)現(xiàn)下載參考技術(shù)套接字編程多線程編程音視頻播放器功能概要設(shè)計(jì)實(shí)現(xiàn)播放常見(jiàn) 練習(xí)項(xiàng)目備選清單 Utilities 1. 文件下載器 功能概要設(shè)計(jì): 實(shí)現(xiàn)新建下載功能(以ftp為基礎(chǔ)) 給出下載鏈接可以啟動(dòng)下載任務(wù) 實(shí)現(xiàn)局...
摘要:沒(méi)有提供一種安全直接的方法來(lái)停止某個(gè)線程,但是提供了中斷機(jī)制。中斷的原理中斷機(jī)制是一種協(xié)作機(jī)制,也就是說(shuō)通過(guò)中斷并不能直接終止另一個(gè)線程,而需要被中斷的線程自己處理中斷。線程的中斷狀態(tài)由該方法清除。測(cè)試線程是否已經(jīng)中斷。 1. 引言 當(dāng)我們點(diǎn)擊某個(gè)殺毒軟件的取消按鈕來(lái)停止查殺病毒時(shí),當(dāng)我們?cè)诳刂婆_(tái)敲入quit命令以結(jié)束某個(gè)后臺(tái)服務(wù)時(shí)……都需要通過(guò)一個(gè)線程去取消另一個(gè)線程正在執(zhí)行的任務(wù)...
閱讀 2183·2021-11-24 09:39
閱讀 2802·2021-07-29 13:49
閱讀 2328·2019-08-29 14:15
閱讀 2244·2019-08-29 12:40
閱讀 3323·2019-08-26 13:42
閱讀 643·2019-08-26 12:13
閱讀 2077·2019-08-26 11:41
閱讀 3355·2019-08-23 18:32