2016-01-28 55 views
0

我有一個Zebex Z-3100 CCD掃描儀,它可以非常整齊地讀取條形碼。帶Java swing的USB條形碼掃描器

我想要做的是製作一個Java程序,它可以處理它讀取的條形碼,到目前爲止,我已經設法做到了非常好。

我正在努力的是讓java程序在沒有標記控制檯/ textarea(swing)的情況下收聽條形碼。

當我啓動程序(擺動) - 並掃描代碼時,它可以正常工作,但是當我使用鍵盤(我已經在swing中實現)並按下「清除」鍵時,它最後觸摸了按鈕「清除」 ,並且文本框不再輸出讀取的條形碼。

我試圖通過使seperat螺紋,其僅監聽

解決這個「掃描器SC =新掃描儀(System.in);」,

但是當我已點擊按鈕「清除「它不再有控制檯也沒有標記的文本框,並沒有代碼被讀取的程序..

有誰知道一個簡單的方法來使程序總是聽掃描儀?

掃描儀似乎是一個鍵盤的工作 - >數字+輸入(例如41231 - >輸入)

我不知道鏈接了代碼的一部分,但如果有人需要,我會鏈接代碼/請求它!

非常感謝!

編輯當我標記控制檯/ textarea時,它將再次讀取代碼。我不知道該怎麼做的唯一部分 - 就是讓它「24/7」收聽條碼掃描器!

+2

您需要發佈相關代碼,最好儘可能靠近[mcve](請檢查鏈接)。 –

+0

使用'SwingWorker',[示例](http://stackoverflow.com/a/9680496/230513)。 – trashgod

+0

當您單擊「清除」按鈕時,調用'JTextField'上的'requestFocusInWindow'將鍵盤焦點移回 – MadProgrammer

回答

2

你的問題是一個簡單的焦點問題。當您單擊「清除」按鈕,它現在有鍵盤焦點,相反,你想給焦點回到JTextField

當你點擊JTextField「清除」按鈕呼叫requestFocusInWindow移動鍵盤焦點回到它