最终它会做同样的事情。
转到JTextArea
此处的源代码,您可以在其中发现它正在做同样的事情。我在这里也复制了该方法,您可以在其中找到它正在执行的操作
d.remove(pos, word1.length());
d.insertString(pos, word2.toUpperCase(), null);
如果打电话:
t.replaceRange(word2.toUpperCase(), pos, pos+ word1.length());
方法。
该类方法的源代码如下
public void replaceRange(String str, int start, int end) {
490 if (end < start) {
491 throw new IllegalArgumentException ("end before start");
492 }
493 Document doc = getDocument();
494 if (doc != null) {
495 try {
496 if (doc instanceof AbstractDocument) {
497 ((AbstractDocument)doc).replace(start, end - start, str,
498 null);
499 }
500 else {
501 doc.remove(start, end - start);
502 doc.insertString(start, str, null);
503 }
504 } catch (BadLocationException e) {
505 throw new IllegalArgumentException (e.getMessage());
506 }
507 }
508 }