我在寫一個使用條形碼掃描器作爲輸入的小應用程序。 經過一些測試後,我在evt.getKeyCode()== KeyEvent.VK_ENTER上解決了對數據庫的檢查。 因此,用戶可以在文本框中手動輸入條形碼,然後按回車鍵以啓動數據庫檢查,或者使用掃描儀,掃描儀在所有掃描的字符發送完畢後也會自動發送輸入字符。java showMessageDialog輸入文本輸入焦點
如果掃描的條形碼有問題,我會向使用JOptionPane.showMessageDialog的用戶顯示一條錯誤消息。當用戶按下輸入按鈕關閉對話框時,它會再次觸發對話框,就好像在文本框中再次按下了輸入按鈕一樣。它會進入該循環,直到用戶用鼠標單擊確定按鈕。
我如何避免這種情況?
有沒有更好的方法來檢查,如果掃描儀完全把所有它的角色,並開始DB檢查比使用回車鍵
OR
在那裏當對話框關閉時用戶按下輸入/點擊確定/單擊'x'時,對話框顯示並返回焦點時,文本框鬆開焦點的一小段時間。
我已經設法使用hasFocus()將焦點返回到文本框,但由於我只有一個文本框和框架Jtable有點有限。在將對話框顯示爲解決方法之前,我嘗試將焦點設置爲Jtable,然後重新將焦點對準文本框,但問題仍然存在。即使試圖把重點放在框架上,仍然沒有運氣。
有什麼想法嗎?
如果您顯示我們可以自行運行並查看問題的代碼段,則可以立即解決([MCVE](http://stackoverflow.com/help/mcve))。 – user1803551 2014-09-23 11:09:31