Numpad的JTextField问题

lrA*_*oid 22 java linux redhat jtextfield numpad

我最近遇到了Java JTextField的一个奇怪问题.当我运行以下代码(见下文)时,在文本字段中键入"0"首先发送粘贴操作,然后键入"0".例如,如果将"text"复制到剪贴板,则在键入"0"时键入"text0".类似地,键入"4"会将前一个字符替换为"4"(我猜这是一个删除操作,然后键入"4").键入"7"会在键入"7"之前清除文本字段.

这是代码:

import javax.swing.JFrame;
import javax.swing.JTextField;

public class Main {

public static void main(String[] args) {
    JFrame frame = new JFrame();
    JTextField text = new JTextField();
    frame.add(text);
    frame.setSize(500, 500);
    frame.setVisible(true);
}

}
Run Code Online (Sandbox Code Playgroud)

问题出在Red Hat Linux上(使用Windows XP中的VNC访问); 一切都在Window XP上按预期运行.

更新:Ubuntu上的程序也没有问题.我也尝试过使用不同的键盘和VNC观众.

更新2:Java版本

对于红帽:

    java version "1.6.0_17"
    OpenJDK Runtime Environment (IcedTea6 1.7.7) (rhel-1.17.b17.el5-x86_64)
    OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Run Code Online (Sandbox Code Playgroud)

对于XP:

    java version "1.7.0_05"
    Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
    Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

更新3:尝试在三台不同的Red Hat机器上运行程序(所有工作都在同一组中),另外尝试从另一台XP计算机运行它并重新启动.

更新4:今天我到了工作岗位,发现问题已经神奇地消失了.然而,知道为什么它首先发生在我身上真的很好,所以我(以及许多遇到这个奇怪问题的人)知道如何在将来修复它.

hel*_*one -2

检查终端、功能下的“禁用应用程序键盘模式”。