我有一個搜索對話框,它帶有一個用作搜索框的JTextField。Java/Swing:關鍵聽衆的問題
當用戶鍵入內容時,它會搜索數據庫,在JTable中顯示結果並選擇其中的第一項。
如果第一個結果是他們正在查找的內容,我想讓他們快速接受對話框,方法是按Enter鍵(而JTextField專注)。
所以我添加了一個KeyListener到JTextField,它的工作正常。
現在問題: 用戶打開時,可以在對話框的父框架上的「搜索」按鈕處於焦點位置時按Enter鍵來打開該對話框。
顯示對話框並且JTextField獲取keyReleased事件(從顯示它的Enter鍵),因此它顯示並關閉。如果用戶按下Enter鍵,則JTextField會收到keyPressed,keyTyped和keyReleased事件。
如何修復而不訴諸醜陋的解決方法?
平臺是Windows 7 x64,順便說一句。
謝謝。
謝謝,這工作。我是Java新手,我不知道關鍵綁定。我忘了提及我曾嘗試從NetBeans的操作對話框中設置加速器,但它沒有工作,所以我嘗試了關鍵的偵聽器。再次感謝! – Mike 2010-05-19 05:16:24