src/share/classes/java/awt/TextComponent.java
Print this page
@@ -233,10 +233,18 @@
* if this parameter is <code>null</code> then
* the text is set to the empty string ""
* @see java.awt.TextComponent#getText
*/
public synchronized void setText(String t) {
+
+ // Please note that we do not want to post an event
+ // if TextArea.setText() or TextField.setText() replaces an empty text
+ // by an empty text, that is, if component's text remains unchanged.
+ if ((text == null || text.isEmpty()) && (t == null || t.isEmpty())) {
+ return;
+ }
+
text = (t != null) ? t : "";
TextComponentPeer peer = (TextComponentPeer)this.peer;
if (peer != null) {
peer.setText(text);
}