如何在JavaGWT中拦截KeyPressEvent?
我是Java新手,在我们的代码中使用的是GWT 我们正在使用如何在JavaGWT中拦截KeyPressEvent?,java,gwt,keylistener,Java,Gwt,Keylistener,我是Java新手,在我们的代码中使用的是GWT 我们正在使用KeyPressEvent处理Key\u Enter请求。但对于每个enter请求,似乎都会从KeyPressEvent触发两个事件。但我希望只触发一个事件,因为我只输入了一次 下面是我的代码。请检查并让我知道,我们需要纠正的任何事情 void onEnter(KeyPressEvent event) { if(event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENT
KeyPressEvent
处理Key\u Enter
请求。但对于每个enter请求,似乎都会从KeyPressEvent
触发两个事件。但我希望只触发一个事件,因为我只输入了一次
下面是我的代码。请检查并让我知道,我们需要纠正的任何事情
void onEnter(KeyPressEvent event)
{
if(event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER)
{
//(seems to times this code is called)
//Domy stuff
}
}
如果我使用event.getCharCode()
而不是event.getNativeEvent().getKeyCode()
,它只返回0
你知道怎么修理吗
谢谢,警告说GWT没有完全规范键盘处理中的浏览器特性。以下是文件中的报价:
本机键盘事件有些混乱(http://www.quirksmode.org/js/keys.html),我们在这里进行了一些琐碎的规范化,但没有尝试任何复杂的修补,因此用户应该受到警告
这意味着浏览器触发不同键盘事件的方式不一致,您应该在自己的代码中处理这些怪癖
阅读以了解更多信息。警告说,GWT没有完全规范键盘处理中的浏览器特性。以下是文件中的报价:
本机键盘事件有些混乱(http://www.quirksmode.org/js/keys.html),我们在这里进行了一些琐碎的规范化,但没有尝试任何复杂的修补,因此用户应该受到警告
这意味着浏览器触发不同键盘事件的方式不一致,您应该在自己的代码中处理这些怪癖
阅读以了解更多信息。尝试在尝试侦听的小部件上调用sinkEvents。这应该在构建小部件后立即完成
widget.sinkEvents(Event.KEYEVENTS)
尝试在尝试侦听的小部件上调用sinkEvents。这应该在构建小部件后立即完成
widget.sinkEvents(Event.KEYEVENTS)
KeyPressEvent
用于产生实际字符代码的按键操作,如按“a”键。如果要在按下enter键时收到通知,请改用:
KeyPressEvent
用于产生实际字符代码的按键操作,如按下“a”键。如果要在按下enter键时收到通知,请改用:
我更喜欢使用
KeyUpEvent
,因为用户无法将其与KeyPressEvent
区分开来,所以下面是我的解决方案:
void onKeyUp(KeyUpEvent event) {
if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
// Handle key press
}
}
我更喜欢使用
KeyUpEvent
,因为用户无法将其与KeyPressEvent
区分开来,所以下面是我的解决方案:
void onKeyUp(KeyUpEvent event) {
if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
// Handle key press
}
}
应移至stackoverflow.com是否可以包括演示如何注册事件处理程序的代码?应移至stackoverflow.com是否可以包括演示如何注册事件处理程序的代码?