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