我正在开发一个简单的Java应用程序,我想知道是否有任何方法可以在一个textarea中不插入额外文本(在句子中间的某处)光标放置在点击某个组件的位置。是否有人可以告诉我如何去得到它做在JTextArea中插入文本
2
A
回答
9
如果这是一个JTextArea component你可以在特定的使用.append
方法来添加文本到文本区域的末尾,或.insert
方法来插入新的文本位置。
如果你需要插入在当前光标处文本使用.getCaretPosition方法
5
退房:JTextComponent.getCaretPosition()
。
方法getCaretPosition()
被JTextArea
继承,你可以用它来获取光标位置。然后,您可以使用JTextArea.insert(String str, int pos)
在该位置插入文本。
样品:
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
final JTextArea jta = new JTextArea("Hello world\nHello world\nHello world");
JButton btn = new JButton("Add");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int pos = jta.getCaretPosition(); //get the cursor position
jta.insert("Some more", pos); //insert your text
}
});
frame.add(jta, BorderLayout.CENTER);
frame.add(btn, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
6
textArea.replaceSelection(text);
从API:
替换当前选中的内容与新的内容表示给定字符串 。如果没有选择,这相当于一个 插入给定的文本
+0
+1我正在寻找这个。 – FirmView
相关问题
- 1. 在JTextArea的插入位置插入文本
- 2. 在JTextArea下插入图像
- 3. 在JTextArea的指定行上插入文本
- 4. 在jTextArea中处理文本
- 5. 尝试将文本文件读入JTextArea
- 6. 文本去JTextArea
- 7. UITextView在textview文本中插入文本
- 8. JTextArea获取用户输入的文本
- 9. 在JTextArea中输入文字效果
- 10. 在JTextArea中检测文本选择
- 11. 显示在JTextArea中的文本
- 12. 在JTextArea中格式化文本颜色
- 13. 在JTextArea /字段中未设置文本
- 14. 在JTextArea中选择文本片段
- 15. 在Java的JTextArea中附加文本
- 16. 将文本和输入文件的文本读取到JTextArea
- 17. 设置插入符号的位置,其中插入符号未插入JTextArea
- 18. 插入文本在文本区域在插入位置
- 19. 在JTextArea或JTextPane中居中文本 - 水平文本对齐
- 20. 如何阅读文本文件导入的JTextArea中的Java Swing
- 21. 在文本框中插入文件名
- 22. 在Word文档中插入rtf文本
- 23. 在特定位置在JTextArea中插入字符串
- 24. 插入文本
- 25. 从java中的JTextArea中读取文本
- 26. 将只读字符串插入到jTextArea
- 27. 将JTextArea插入带有JLabel的JPanel
- 28. 从文件读入JTextArea
- 29. 在文本中的光标位置插入文本输入
- 30. 从JSpinner到JTextArea的文本
我的问题是我想在那里光标被放置在文本区域框中的地方插入文本和我怎么知道确切的地点它位于textarea中。 –
更新了我的答案。 – jefflunt