gpt4 book ai didi

java - 按键事件字符

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:59 27 4
gpt4 key购买 nike

我有一个关于 KeyListener 的问题。当我得到 KeyEvent 并执行 getKeyChar() 时,我很想与 * 星号进行比较,我打算使用其中一个KeyEvent.VK_ 定义了哪些键适用于很多键。

但是对于这个特定的键和其他一些值不匹配。

* getKeyChar() 将返回 0x2agetKeyCode() 将返回 0x380x38 的定义是 VK_8 而不是 VK_ASTERISK,后者是 0x97

为什么某些键码匹配而其他键码不匹配。大多数人都这样做。如果我只是做一个有效的字符比较( == '*'),但我不确定这是否是最佳解决方案?

谢谢大家的帮助!!!

最佳答案

好吧,你误会了什么。

键是键,符号是符号。符号是按键的结果,同一个键可以根据情况产生不同的符号(组合键如 AltControlShift 等).

所以,VK_8 key code代表可以产生符号8key* 可能还有其他取决于键盘本地化。

而数字键盘上的 * 专用 VK_MULTIPLY - 它只能产生一个符号 * (据我所知)。

您可能不应该关心用户按下的,而是该用户操作产生的符号

这个信息你可以用getKeyChar()得到,但是请注意如果用户按下Shift8组合产生 * 它实际上是两个键(Shift8),你会得到两个事件,第一个(对于 Shift)将产生一个不可读的符号。

关于java - 按键事件字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com