当前位置: 首页 > 知识库问答 >
问题:

用于非ASCII字符的javafx-get KeyEvent

商夜洛
2023-03-14

在JavaFX(实际上是ScalaFX)应用程序中,我希望允许用户通过一系列键盘键调用命令。不管当前的键盘布局(语言)如何,这些命令都应该工作。例如,用户可能正在用泰文()键入,然后想通过按'escape'和's'(或':'和'w',vim样式)保存。

onKeyPressed = (k: KeyEvent) => {
  println("text: " + k.text + "  " + "code name: " + k.code.name)
}
text: a  code name: A  
text:   code name: Alt          << Alt + Shift switches from English to Hebrew
text:   code name: Shift  
text: ש  code name: Undefined  

我怎样才能克服这个问题?我怎样才能知道是哪一个键被按下而不管语言?

类似的未回答问题:JavaFX KeyEvent和重音字符

共有1个答案

姬飞昂
2023-03-14

getcharacter()将获得keyevent背后的unicode字符:

与键类型事件关联的unicode字符。例如,对于按SHIFT+'a'生成的键类型事件,char将具有值“a”。对于按下键和释放键的事件,char总是char_undefined。

 类似资料:
  • 问题内容: 我正在尝试解析包含某些非ASCII字符的xml, 代码如下 但它在行“ content = …”上显示了错误,例如 在终端中它正在工作,但是在Eclipse IDE上运行时却给我一个错误。 不知道该如何克服。 问题答案: 您应该定义源代码编码,并将其添加到脚本顶部: 它在控制台和IDE中工作不同的原因可能是由于设置了不同的默认编码。您可以通过运行以下命令进行检查:

  • 问题内容: 我在Matplotlib中显示非ASCII字符时遇到问题,这些字符呈现为小框而不是适当的字体,看起来像(我用红色油漆填充了这些框以突出显示它们): 我如何解决它? 一个相关的问题是 Matplotlib中的重音字符 。 问题答案: 实际上,此问题可能有两个不同的原因: 默认字体不包含这些字形 您可以使用以下方法更改默认字体(在完成任何绘制之前!) 在某些版本的matplotlib中,您

  • 问题内容: 从网站提取数据时出现奇怪的字符: 如何删除不是非扩展ASCII字符的内容? 问题答案: 正则表达式替换将是最佳选择。使用作为一个例子的字符串,并使用匹配它,这是一个POSIX字符类: 什么是寻找所有可打印字符。相反,查找所有不可打印的字符。不属于当前字符集的所有字符都将被删除。 注意: 使用此方法之前,必须确保当前字符集为ASCII。POSIX字符类同时支持ASCII和Unicode,

  • 问题内容: 如果我有一个PHP字符串,如何有效地确定它是否至少包含一个非ASCII字符?所谓非ASCII字符,是指不属于此表的任何字符,http://www.asciitable.com/,其位置为32-126(含)。 因此,它不仅必须是ASCII表的一部分,而且还必须是可打印的。我想检测一个包含至少一个不符合这些规范的字符的字符串(不可打印的ASCII字符或完全不同的字符,例如不属于该表的Uni

  • 在无数类似的SO问题中,没有一个是针对字符替换而不是剥离,另外还针对所有非ASCII字符而不是某个特定字符。

  • 问题内容: 我有一个包含非ASCII字符的URI,例如: http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl -ttrigeSomerzischeruchtanb 如何从此URI中删除“ …” 问题答案: 我猜想URL的来源更多是错误的。也许您正在解决错误的问题?从URI中删除“奇怪”字符可能会赋予它完