jdk/src/share/classes/javax/swing/JTextPane.java
changeset 3750 4195b035138f
parent 715 f16baef3a20e
child 5506 202f599c92aa
--- a/jdk/src/share/classes/javax/swing/JTextPane.java	Wed Sep 02 17:47:19 2009 +0400
+++ b/jdk/src/share/classes/javax/swing/JTextPane.java	Mon Sep 07 12:27:53 2009 +0400
@@ -170,6 +170,7 @@
      *
      * @param content  the content to replace the selection with
      */
+    @Override
     public void replaceSelection(String content) {
         replaceSelection(content, true);
     }
@@ -183,6 +184,7 @@
         if (doc != null) {
             try {
                 Caret caret = getCaret();
+                boolean composedTextSaved = saveComposedText(caret.getDot());
                 int p0 = Math.min(caret.getDot(), caret.getMark());
                 int p1 = Math.max(caret.getDot(), caret.getMark());
                 AttributeSet attr = getInputAttributes().copyAttributes();
@@ -197,6 +199,9 @@
                         doc.insertString(p0, content, attr);
                     }
                 }
+                if (composedTextSaved) {
+                    restoreComposedText();
+                }
             } catch (BadLocationException e) {
                 UIManager.getLookAndFeel().provideErrorFeedback(JTextPane.this);
             }