--- old/src/java.desktop/share/classes/java/awt/TextComponent.java 2015-11-19 20:51:59.098788733 +0530 +++ new/src/java.desktop/share/classes/java/awt/TextComponent.java 2015-11-19 20:51:58.854788733 +0530 @@ -229,14 +229,19 @@ * @see java.awt.TextComponent#getText */ public synchronized void setText(String t) { + TextComponentPeer peer = (TextComponentPeer)this.peer; + if (peer == null) { + return; + } + + text = peer.getText(); boolean skipTextEvent = (text == null || text.isEmpty()) && (t == null || t.isEmpty()); - text = (t != null) ? t : ""; - TextComponentPeer peer = (TextComponentPeer)this.peer; + text = (t != null) ? 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 (peer != null && !skipTextEvent) { + if (!skipTextEvent) { peer.setText(text); } }