如何在JTextField
中獲取以像素爲單位的插入位置?有一種方法getCaret().getDot()
,但它返回符號計數,而不是像素。除FontMetrics
之外還有其他方法嗎?如何在JTextField中獲取插入點的像素位置?
0
A
回答
3
從API,您可以使用:
int pixelPosition = textField.modelToView(textField.getCaretPosition()).x;
+0
是的,它工作完美,經過測試。我認爲這種方法更好。謝謝 :) –
2
鑑於JTextField someJTextField
下面的代碼應該給你關懷的像素位置:
FontMetrics fm = myJTextField.getFontMetrics();
int caret = someJTextField.getCaret().getDot();
int pixelPosition = fm.stringWidth(myJTextField.getText(0, caret)) -
myJTextField.getScrollOffset();
相關問題
- 1. 如何在'JTextField'中插入'String'到特定位置?
- 2. 在matlab中獲取像素位置
- 3. 在TextBox中獲取插入位置
- 4. 在textarea(IE)中獲取插入位置
- 5. 如何在silverlight文本框中獲取/設置插入位置?
- 6. 如何設置JTextField的像素大小
- 7. 如何在android studio xml中獲取像素的位置?
- 8. Python:獲取插入位置
- 9. 如何使用html子元素在contenteditable div中獲取插入符的位置?
- 10. 在JTextArea中獲取插入位置的XY位置
- 11. 以像素爲單位在textarea中查找插入位置
- 12. 如何從元素的像素頂部獲取位置?
- 13. 如何獲取視圖中的像素位置ios
- 14. 獲取點擊元素的位置
- 15. 獲取指針的像素位置
- 16. 獲取給定像素位置的值
- 17. JavaScript'contenteditable' - 獲取/設置插入位置
- 18. 如何在有選擇時獲取TextBox的插入位置?
- 19. JTextField - 在focusLost事件中更改插入符號位置
- 20. JavaScript的FreeTextBox獲取插入位置(IE)
- 21. 如何在任何位置在PHP中插入一個元素
- 22. 如何獲取元素的位置
- 23. jQuery .sortable + receive事件:獲取插入元素的位置
- 24. 如何獲得像素位置
- 25. 如何在JTextfield中設置文本像佔位符擺動
- 26. 獲取元素在Javascript中的位置
- 27. RichEdit從像素位置獲取線
- 28. 如何獲取wifi熱點的位置?
- 29. 獲取輸入元素的光標或文本位置(以像素爲單位)
- 30. 如何獲取兩個非線性點之間的所有像素位置opencv
我正要建議'FontMetrics',直到我讀它在你的問題結束。我認爲這絕對是最好的方式。另外,如果您通過Java源代碼查看JTextComponent,您可能會看到它們如何派生出在哪裏繪製插入符號 – Cruncher
是的,現在我認爲這是唯一的方法,而且不是很複雜。 @Cruncher你可以發表一個例子,我會投票:) –
閱讀我對答案的評論。它有限制。 – Cruncher