【问题标题】:Java Swing applications - Window 8 tablet - On Screen Key boardJava Swing 应用程序 - Window 8 平板电脑 - 屏幕键盘
【发布时间】:2013-08-02 06:54:09
【问题描述】:

当我单击部署在 Windows 8 平板电脑中的基于 Java Swing 的应用程序中的文本字段时,屏幕键盘不会自动打开。我需要实现一些东西才能启用它吗?

或者,为了实现这种情况,是否需要明确进行任何设置?

【问题讨论】:

    标签: java swing keyboard


    【解决方案1】:

    首先,输入插入符号是否出现在文本字段中?如果是这样,您可以尝试执行 java.awt.Component.requestFocus() 或 java.awt.Component.requestFocusInWindow()。如果两者都失败,则怀疑您的 JVM 和/或机器有问题。

    必须启用特定组件且可聚焦(所有父组件也是如此)才能使文本字段聚焦。尽管默认的 Java 属性是让新组件既可聚焦又可启用,但您可以通过执行 setEnabled(true); 来强制它们。和 setFocusable(true);在您的组件上。焦点通常由闪烁的插入符号表示。

    还要确保您没有任何奇怪的鼠标侦听器正在消耗鼠标事件。

    如果一切都失败了,添加一个鼠标监听器和一个焦点监听器在你的组件上测试它是否接收焦点并尝试不同的方法来选择它(通过tab键,通过鼠标点击,通过触摸输入)。

    Java 是独立于平台的。假设您使用 AWT/Swing 对象,无论是在 windows 8 还是 windows 98 上(如果此版本的 java 支持),JVM 都应自动处理底层机制。

    【讨论】:

    • 是的,输入插入符号正在闪烁。专注不是我的问题。它关于在 Win 8 平板电脑中加载屏幕键盘。我在 Windows 8 平板电脑上尝试了一个简单的 JtextField 示例,甚至没有加载屏幕键盘。我所做的是,我为 Jtextfield 编写了一个 HelloWorld 类型的应用程序,然后运行了该应用程序。它以单个文本字段打开,焦点已经在该字段上(闪烁的插入符号)。通过触摸,我手动使其失去焦点,然后再次点击文本字段。理想情况下,由于它是一个文本字段,因此应弹出屏幕键盘。但这并没有发生。
    • @ViswanathT 如果可能,请在另一台机器上尝试您的应用程序(Windows 8 和触摸屏)。如果像 JTextField 示例这样的简单应用程序也不起作用。它可能是JVM搞砸了......需要弄清楚它只是你的机器还是每个带有触摸屏的win 8。确保将 java 更新到最新版本并尝试全新重新安装(防止错误安装的预防措施)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2013-02-14
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多