JTextField Problem with 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);
}
}
问题发生在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)
对于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)
更新3:尝试在三台不同的Red Hat机器上运行该程序(所有机器都在工作的同一组中),并另外尝试从另一台XP计算机运行它并重新启动。
更新4:今天我上班时发现问题已经神奇地消失了。但是,知道为什么它首先发生真的会很好,这样我(以及许多遇到这个奇怪问题的其他任何人)知道如何在将来解决它。