0

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

通过发送 KEY_PRESSED、KEY_TYPED、KEY_RELEASED 事件来模拟“A”按键,JTextField 值为:

|一个

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

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

4

2 回答 2

2

您是否尝试过在 JDK 中使用机器人类?

http://docs.oracle.com/javase/6/docs/api/java/awt/Robot.html

于 2012-07-19T21:34:38.777 回答
0

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

于 2012-07-19T21:39:24.103 回答