Java 如何通过编程方式生成KeyEvents来模拟键盘输入(包括光标移动)

Java 如何通过编程方式生成KeyEvents来模拟键盘输入(包括光标移动),java,swing,cursor,jtextfield,keyevent,Java,Swing,Cursor,Jtextfield,Keyevent,我正试图通过编程方式生成KeyEvent对象并将它们发送到事件队列来模拟键盘输入。这可以很好地工作,但当字符被输入到JTextField中时,例如,光标(插入符号?)不会移动到始终位于输入值的末尾。例如,如果我们将插入符号表示为管道|,那么这就是我得到的: “A”按键通过发送按键、键入按键、释放按键事件来模拟,JTextField值为: |A 也就是说,输入A后,光标/插入符号回到字段的开头 如何让光标/插入符号像实际按下物理键时那样自动移动?您是否尝试过在JDK中使用Robot类 发出每个命令

我正试图通过编程方式生成KeyEvent对象并将它们发送到事件队列来模拟键盘输入。这可以很好地工作,但当字符被输入到JTextField中时,例如,光标(插入符号?)不会移动到始终位于输入值的末尾。例如,如果我们将插入符号表示为管道|,那么这就是我得到的:

“A”按键通过发送按键、键入按键、释放按键事件来模拟,JTextField值为:

|A

也就是说,输入A后,光标/插入符号回到字段的开头


如何让光标/插入符号像实际按下物理键时那样自动移动?

您是否尝试过在JDK中使用Robot类


发出每个命令后,调用一个使用
setCaretPosition()
到JTextField中文本末尾的方法。如果您使用J*窗格,这样您可以调用
getDocument()
,并且您将拥有更多的控制权,那么这将更加容易。

也许您可以尝试xte(xautomation)。