java在替换JTextField中的文本选择后更正插入符号位置
我希望下面的方法替换JTextField
中的文本选择,并将其替换为一些输入String
。我的问题是,如果我在JTextField
中选择了多个字符,插入符号位置会向前跳过
如何确保插入符号位置保持在正确的位置
private void addStringAtCaretPos(String c) {
final int caretPosition = inputTextField.getCaretPosition();
inputTextField.replaceSelection(c);
inputTextField.requestFocus();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
inputTextField.setCaretPosition(caretPosition + 1);
}
});
}
# 1 楼答案
通常,在选择文本时,从左到右进行选择,以便插入符号位置位于要替换的文本的末尾
我认为你应该使用: