【发布时间】:2015-11-15 21:09:59
【问题描述】:
我发现 OS X Yosemite 上的 Swing 文本输入字段存在一个奇怪的问题(使用 Oracle JDK 8)。当我在文本输入字段获得焦点时按住任何字母或数字键时,之后我将无法再在当前 JFrame 的任何字段中输入任何内容。然后我必须关闭框架并重新打开它才能再次输入文本。
OS X 中的默认行为是在长时间按住某个键时调出一个小菜单以从中选择特殊字母。我猜 Swing 输入确实有问题。
其他人是否也注意到了这一点,是否有解决此问题的方法?
编辑:我了解到可以通过将标志 ApplePressAndHoldEnabled 设置为 false 来禁用字符重音菜单。
defaults write -g ApplePressAndHoldEnabled -bool false
但是,我想在 Java 中以编程方式解决这个问题,以便文本输入字段也适用于使用我的软件的其他人。
谢谢
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不工作?”)必须包括所需的行为、特定的问题或错误以及必要的最短代码在问题本身中重现它。 没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建minimal reproducible example
标签: java swing java-8 osx-yosemite textinput