whi*_*rue 2 java swing jtextarea
假设我有一个JTextArea并且我想用特定文本替换当前行:
例子
123
123455
68967869
gh
Run Code Online (Sandbox Code Playgroud)
现在我想替换当前光标现有行的文本。
所以如果光标在第三行,输出将是:
123
123455
replaced text
gh
Run Code Online (Sandbox Code Playgroud)
现在我有了这段代码。但它只是附加到当前行而不是当前行的第一个位置。
jtextarea1.getDocument().insertString(jtextarea1.getCaretPosition(), "replaced text", null);
Run Code Online (Sandbox Code Playgroud)
输出
123
123455
68967869replaced text//that's the problem
gh
Run Code Online (Sandbox Code Playgroud)
使用JTextAreaAPI:
JTextArea txt = ...;
int caretOffset = txt.getCaretPosition();
int lineNumber = txt.getLineOfOffset(caretOffset);
int startOffset = txt.getLineStartOffset(lineNumber);
int endOffset = txt.getLineEndOffset(lineNumber);
txt.replaceRange("Replaced Text", startOffset, endOffset);
Run Code Online (Sandbox Code Playgroud)