2013-05-26 69 views

回答

0

您可以執行以下操作。首先設置插入符的位置並插入文本。

textarea.setCaretPosition(int posintion) 
textarea.setText(yourData); 
+0

這不會在當前插入位置處插入文本,而是插入您想要的插入位置。 –

+0

確實,您可以使用您指定的getCaretPosition()方法獲取當前插入位置,或者我通常將鼠標事件偵聽器添加到文本區域並設置插入位置* onClick *。 –

+0

這將取代textArea的內容。請檢查我的答案。 – Soley

9

使用textarea.setText();將取代您文字的全部內容。取而代之的是,您必須使用insert()您的文本對象的方法。

textarea.insert("My String Here", textarea.getCaretPosition()); 

您可以通過textObject .getCaretPosition()獲取插入符位置並從那裏開始添加文本。

我也發現這個有用:https://stackoverflow.com/a/5255666/2655623

總結:

textarea.replaceSelection(""); 
textarea.insert("My String Here", textarea.getCaretPosition()); 
+0

此答案出現在「低質量帖子」隊列中。您可能希望通過在代碼中添加一些解釋來改進它,以及爲什麼它比以前的答案更好。 – fedorqui

+0

很久以前,我從3個upvotes的回答已經從這個話題中刪除。它是:「我應該使用: jta.insert(txt,jta.getCaretPosition());」 – Yoda

+0

@Yoda uhms,是。也許你可以嘗試用更廣泛的解釋進行編輯,然後標記爲未刪除。 – fedorqui

1

使用getDocument().insertString,而不是setText方法。

textarea.getDocument().insertString(textarea.getCaretPosition(), t, null); 
相關問題