1
A
回答
2
使用JTextComponent.setCaretPosition(int)
其中:
設置TextComponent的文本插入符的位置。請注意,脫字符跟蹤改變,所以如果組件的基礎文本被改變,這可能會移動。如果文檔是
null
,則什麼都不做。該位置必須介於0和組件文本的長度之間,否則會引發異常。
2
如果你想從一個實際的文本行去另一個文本行,那麼你還需要使用JTextComponent.setCaretPosition()方法,但你還需要的是獲得所需的線起點的手段索引傳遞給JTextComponent.setCaretPosition()方法。這裏是你如何能得到所提供的任何行號的起始索引提供的文檔中提供的行號存在:
public int getLineStartIndex(JTextComponent textComp, int lineNumber) {
if (lineNumber == 0) { return 0; }
// Gets the current line number start index value for
// the supplied text line.
try {
JTextArea jta = (JTextArea) textComp;
return jta.getLineStartOffset(lineNumber-1);
} catch (BadLocationException ex) { return -1; }
}
如何使用上面的方法(假設從的actionPerformed事件一個JButton的):
int index = getLineStartIndex(jTextArea1, 3);
if (index != -1) {
jTextArea1.setCaretPosition(index);
}
jTextArea1.requestFocus();
示例用法代碼上面將移動插入符號(無論從任何位置它正好文檔)至3線的同一文檔中的開頭內是英寸
編輯:基於註釋中的問題...
要移動插入符號到行的末尾,你可以讓另一方法非常類似於getLineStartIndex()方法除了上面現在我們將其命名爲getLineEndIndex(),我們會做一個單一的代碼行的變化:
public int getLineEndIndex(JTextComponent textComp, int lineNumber) {
if (lineNumber == 0) { return 0; }
// Gets the current line number end index value for
// the supplied text line.
try {
JTextArea jta = (JTextArea) textComp;
return jta.getLineEndOffset(lineNumber-1) - System.lineSeparator().length();
} catch (BadLocationException ex) { return -1; }
}
使用此方法的方法與上面顯示的getLineStartIndex()方法相同。
相關問題
- 1. 在AngularJs中獲取Textarea光標位置
- 2. 如何在textarea中重新定位調整大小指示器
- 3. 如何在flex4的textArea中找到當前光標位置?
- 4. 如何在textarea中設置光標位置top
- 5. 確定光標位置是否在textarea中定義的行的起始位置
- 6. 如何獲得textarea中的光標位置?
- 7. 如何在textarea內的光標位置放置下拉菜單?
- 8. Javascript - 在textarea中光標位置插入圖片標籤
- 9. 位置光標在init重新綁定宏
- 10. ASP.NET/HTML - 使用光標時的textarea光標位置
- 11. 如何重新定位GGPLOT2軸標題?
- 12. 光標位置居中,並在中間爲javaFX TextArea
- 13. 在hsqlDB中重置光標位置,java
- 14. 在MapView中重新定位Google標誌
- 15. 如何在BorderPane中重新定位VBox?
- 16. 光標未放置在textarea中點擊的位置
- 17. 光標和光標的鎖定位置
- 18. 如何確定UITextField的光標位置?
- 19. 如何在HTML textarea中找到光標位置(X/Y,而非行/列)?
- 20. 如何在清除GWT中的TextArea後將光標置回零位?
- 21. 如何確定textarea光標相對於x,y窗口的位置?
- 22. 將光標隱藏在textarea中
- 23. 在textarea中移動光標以結束
- 24. 光標在textarea盒子的中間?
- 25. 在TextArea中移動文本光標Java
- 26. 在Firefox中設置光標textarea與jquery
- 27. 確定textarea是哪一行的光標
- 28. textarea的標籤定位
- 29. 光標在UITextView中的奇怪定位
- 30. 重新定位標籤
標題說'JTextField',但正文說'JTextArea'。這是什麼? –