【发布时间】:2016-04-04 13:06:29
【问题描述】:
我正在尝试让我的 KeyEvent 正常工作。可悲的是,keyTyped(KeyEvent e) 根本没有回应。 :)
我为我的班级实施了 KeyEvnet。
我按如下方式分配了监听器:
JTextfield searchBar = new JTextField();
searchBar.addKeyListener( this );
我的关键事件如下所示:
@Override
public void keyTyped(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("pressed");
try {
int browser = getSelectBrowser().getSelectedIndex();
logic.search( searchBar.getText(), searchInfo, browser, isURL );
} catch (InterruptedException ie) {
System.out.println( "Pressed fail" );
}
this.repaint();
}
}
我还在第二次测试 Gui 中尝试了 Listener,但它也不起作用。
:-)
【问题讨论】:
-
“不起作用”不是可接受的问题描述。 stackoverflow.com/help/how-to-ask
-
您是否尝试在您的
if之外添加System.out.println(...)? -
@Tiz System.out.println(...) 只是为了检查它是否真的通过了监听器;)它应该与 println() 一起工作。
-
@itknocks 是的,我知道。我的意思是您不会看到打印输出除非按下回车。将
println放在if之外会告诉您是否为其他键调用该方法。 -
@Tiz 哦,对不起,我想念你的答案。当我把它放在“如果”之外时,我按下的所有内容都会打印出一个 0
标签: java swing keylistener