我有一个搜索对话框,它带有一个用作搜索框的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