Java 设置插入符号位置,插入符号不在JTextArea中
在我的JTextArea中,我是否可以在以前没有插入符号位置的地方设置插入符号位置?我想使用KeyEvent.VK_ENTER上的KeyListener将文本添加到我的JTextArea,然后将插入符号位置设置在我将文本添加到JTextArea的下方一行 干杯 泰勒Java 设置插入符号位置,插入符号不在JTextArea中,java,swing,jtextarea,keylistener,caret,Java,Swing,Jtextarea,Keylistener,Caret,在我的JTextArea中,我是否可以在以前没有插入符号位置的地方设置插入符号位置?我想使用KeyEvent.VK_ENTER上的KeyListener将文本添加到我的JTextArea,然后将插入符号位置设置在我将文本添加到JTextArea的下方一行 干杯 泰勒 我强烈建议您不要使用KeyListener,因为不鼓励使用低级侦听器,这会使代码更难升级和修改 你的最终目标是什么,因为可能有更好的方法 要添加新行,只需这样做:通过textArea.append(“\n”)向JTextArea添加
textArea.append(“\n”)向JTextArea添加新行代码>
setCaretPosition(…)
- 我强烈建议您不要使用KeyListener,因为不鼓励使用低级侦听器,这会使代码更难升级和修改
- 你的最终目标是什么,因为可能有更好的方法
- 要添加新行,只需这样做:通过
textArea.append(“\n”)向JTextArea添加新行代码>
- 然后通过
setCaretPosition(…)
textArea.setCaretPosition( textArea.getDocument().getLength() );
在KeyEvent.VK_输入上使用KeyListener
不要使用KeyListener。Swing设计用于键绑定。有关更多信息,请阅读上的Swing教程部分
将插入符号位置设置为我将文本添加到JTextArea下方的一行
添加文本时,请确保在文本区域中添加“\n”。然后您可以使用:
textArea.setCaretPosition( textArea.getDocument().getLength() );
我的最终目标是从matlab服务器获取一个字符串,并将其附加到我创建的GUI中的JTextArea中。我使用key listener VK_ENTER将文本发送到matlab服务器。你有没有关于密钥侦听器以外的其他路由的建议?@TaylorFirman:是的,根据情况可以选择密钥绑定、DocumentListener或DocumentFilter。我的最终目标是从matlab服务器中获取一个字符串,并将其附加到我创建的GUI中的JTextArea中。我使用key listener VK_ENTER将文本发送到matlab服务器。您对密钥侦听器之外的其他路由有什么建议吗?@TaylorFirman:是的,根据具体情况,可以选择密钥绑定、DocumentListener或DocumentFilter。