在我看来就像是虚拟键盘:-)
几乎完全相同的代码对我有用。我建议以下内容:
将目标
JTextField
(在您的情况下为receiver
)作为source
参数传递给KeyEvent
构造函数,即:receiver.dispatchEvent(new KeyEvent(receiver,KeyEvent.KEY_TYPED, System.currentTimeMillis(),modifiers, KeyEvent.VK_UNDEFINED, keyChar);
确保目标
JTextField
有重点。
编辑:
为了验证以上建议,我测试了以下代码段:
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'));
这是行不通的,但是,如果对最后一行进行如下修改(目标组件作为构造函数的
source参数
KeyEvent),则可以正常工作:
text.dispatchEvent(new KeyEvent(text, KeyEvent.KEY_TYPED, 0, 0, KeyEvent.VK_UNDEFINED, 'H'));



