是否可以在Java或JavaFX中获得移位字符?
例如,如果我有char '1'
,并且我想在qwertz布局上使用shift字符。我得到了'!'
。
因为我有一个JavaFX KeyEvent
,我想要按下该字符。但是KeyEvent
没让我换1
的班次。仅用于字母。
如果没有JNI,这是否可能?或者是否存在例如TextField
和事件的解决方法?
还是我应该使用自己的Map
?
您应该侦听KEY_TYPED
事件并查询KEY_TYPED
。如果用户键入Shift + 1,则KeyEvent#getCharacter()
至少在典型的US QWERTY键盘上将返回KeyEvent#getCharacter()
。
#getCharacter()
注:以上并非详尽的实现。例如,键入Backspace不会删除字符,而是会添加“未知字符”,因为"!"
字符没有表示形式。