2

我从教程中注意到,通常通过将 getNativeKeyCode 与 KeyCodes 进行比较来检查 KeyUpEvent 事件。但是 KeyCodes 只有特殊键的常量,没有字符。有没有办法绕过硬编码空格键的值(似乎是“32”)?

4

2 回答 2

2

我编写此代码以通过检查空格键(32)关闭弹出面板,它对我有用

   @Override
    protected void onPreviewNativeEvent(NativePreviewEvent event) {
        super.onPreviewNativeEvent(event);
        if(event.getNativeEvent().getKeyCode() == 32){ // spacebar
            hide();
        }   
    }

KeyUpEvent 也有 getNativeEvent();

你可以用同样的方法检查

KeyUpEvent k;
k.getNativeEvent().getKeyCode() == 32 
于 2010-12-16T06:10:53.370 回答
1

您可以使用 char 作为空间进行比较,如下所示:

if(event.getNativeKeyCode() == ' ') {
   // special logic here 
}
于 2010-12-16T06:32:16.340 回答