【发布时间】:2013-08-02 06:54:09
【问题描述】:
当我单击部署在 Windows 8 平板电脑中的基于 Java Swing 的应用程序中的文本字段时,屏幕键盘不会自动打开。我需要实现一些东西才能启用它吗?
或者,为了实现这种情况,是否需要明确进行任何设置?
【问题讨论】:
当我单击部署在 Windows 8 平板电脑中的基于 Java Swing 的应用程序中的文本字段时,屏幕键盘不会自动打开。我需要实现一些东西才能启用它吗?
或者,为了实现这种情况,是否需要明确进行任何设置?
【问题讨论】:
首先,输入插入符号是否出现在文本字段中?如果是这样,您可以尝试执行 java.awt.Component.requestFocus() 或 java.awt.Component.requestFocusInWindow()。如果两者都失败,则怀疑您的 JVM 和/或机器有问题。
必须启用特定组件且可聚焦(所有父组件也是如此)才能使文本字段聚焦。尽管默认的 Java 属性是让新组件既可聚焦又可启用,但您可以通过执行 setEnabled(true); 来强制它们。和 setFocusable(true);在您的组件上。焦点通常由闪烁的插入符号表示。
还要确保您没有任何奇怪的鼠标侦听器正在消耗鼠标事件。
如果一切都失败了,添加一个鼠标监听器和一个焦点监听器在你的组件上测试它是否接收焦点并尝试不同的方法来选择它(通过tab键,通过鼠标点击,通过触摸输入)。
Java 是独立于平台的。假设您使用 AWT/Swing 对象,无论是在 windows 8 还是 windows 98 上(如果此版本的 java 支持),JVM 都应自动处理底层机制。
【讨论】: