如何获得以像素为单位的插入符号位置JTextField
?有一个方法getCaret().getDot()
,但它返回符号计数,而不是像素。除此之外还有什么方法FontMetrics
吗?
问问题
745 次
2 回答
3
通过 API,您可以使用:
int pixelPosition = textField.modelToView( textField.getCaretPosition() ).x;
于 2013-09-06T00:23:07.937 回答
2
鉴于JTextField someJTextField
以下代码应该为您提供护理的像素位置:
FontMetrics fm = myJTextField.getFontMetrics();
int caret = someJTextField.getCaret().getDot();
int pixelPosition = fm.stringWidth(myJTextField.getText(0, caret)) -
myJTextField.getScrollOffset();
于 2013-09-05T18:42:44.653 回答