java如何区分常用的打印键盘键和其他键盘键
我想收集键盘输入并将其附加到java StringBuilder中,但使用LWJGL的键盘事件,我最终获取了比我希望的更多的内容,如Shift、CapsLock、Escape、F1到F12、Enter,甚至标点符号等。。这些键也有键ID,但通过附加它们,它们被打印成正方形(我相信是无法识别的字符)
我的目标是忽略这些不可打印的键,而不必创建包含所有这些不需要的键的巨大数组。有什么办法吗
请注意,我希望像\、-&书信电报;等仍然被考虑到字符串中,就像任何文本编辑器一样
# 1 楼答案
下面是一个您可以使用的示例。然后将此示例用作内部类,您可以使用它来代替组件上的常规ActionListener。此示例捕获事件的键代码(使用KeyEvent)。我在你的问题中列举了一些例子,我相信如果需要的话,你会发现更多的例子
在switch语句的每一种情况下,都应该向现有字符串追加一个自定义字符串
# 2 楼答案
多亏了Mark W,我才发现ASCII的范围是32到126,128到255,我相信它涵盖了日常文本编辑器中常见的每个字符。非常感谢:)
下面是一个可能对使用lwjgl的人有用的最小代码块