--- 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);
}