在我看来就像一个虚拟键盘:-)
几乎完全相同的代码对我有效。我建议如下:
-
越过目标
JTextField
receiver
)作为
source
参数
KeyEvent
建造商,即:
receiver.dispatchEvent(new KeyEvent(receiver,
KeyEvent.KEY_TYPED, System.currentTimeMillis(),
modifiers, KeyEvent.VK_UNDEFINED, keyChar);
-
文本框
有重点。
为了验证上述建议,我测试了以下代码片段:
Frame frame = new Frame();
TextField text = new TextField();
frame.add(text);
frame.pack();
frame.setVisible(true);
text.dispatchEvent(new KeyEvent(frame,
KeyEvent.KEY_TYPED, 0,
0,
KeyEvent.VK_UNDEFINED, 'H'));
但是,如果最后一行修改如下(目标组件作为
来源
的参数
建造商),它工作得很好:
text.dispatchEvent(new KeyEvent(text,
KeyEvent.KEY_TYPED, 0,
0,
KeyEvent.VK_UNDEFINED, 'H'));