我试图通过以编程方式生成KeyEvent对象并将它们泵入事件队列来模拟键盘输入。这种方法很好,除了当字符输入到JTextField中时,例如,光标(插入符号?)不会始终位于输入值的末尾。例如,如果我们将插入符号表示为管道|那就是我得到的:
通过发送KEY_PRESSED,KEY_TYPED,KEY_RELEASED事件来模拟'A'按键,并且JTextField值为:
| A
即,在输入A后,光标/插入符号返回到字段的开头。
如何让光标/插入符号自动移动,就像按下实际的物理键一样?
答案 0 :(得分:2)
您是否尝试过在JDK中使用Robot Class?
http://docs.oracle.com/javase/6/docs/api/java/awt/Robot.html
答案 1 :(得分:0)
发出每个命令后,调用一个方法,该方法使用setCaretPosition()
到JTextField文本的末尾。如果您使用J * Pane,这将更容易,因此您可以致电getDocument()
,您将获得更多控制权。