Ich versuche die JTextArea zu löschen.
Derzeit verwende ich
jtextarea.setText(null);
Was ist der Unterschied, wenn ich es benutze?
jtextarea.setText("");
Es gibt keinen Unterschied. Beide haben den Effekt, den alten Text zu löschen. Von der Java TextComponent Seite:
Text setzen
public void setText(String t)
Sets the text of this TextComponent to the specified text. If the text is null
or empty, has the effect of simply deleting the old text. When text has been
inserted, the resulting caret location is determined by the implementation of
the caret class.
Note that text is not a bound property, so no PropertyChangeEvent is fired when
it changes. To listen for changes to the text, use DocumentListener.
Parameters:
t - the new text to be set
See Also:
getText(int, int), DefaultCaret
Was der Autor versuchte, war klar, dass JTextArea nicht mit einem Nullzeichen versehen wurde!
JTextArea0.selectAll();
JTextArea0.replaceSelection("");
Dies wählt die gesamte TextArea aus und ersetzt dann eine Nullzeichenfolge, wodurch die JTextArea effektiv gelöscht wird.
Ich bin nicht sicher, was das Missverständnis war, aber ich hatte die gleiche Frage und diese Antwort löste es für mich.
Eigentlich gibt es den Unterschied, denke ich.
Wenn Sie den Wert auf Null setzen, ist der in den Textbereich geschriebene Wert nichts. Wenn Sie es auf "" setzen, wird es ein leeres Zeichen sein. Das gleiche wie Sie es auf "z" setzen können, und es wird z geschrieben, aber Null bedeutet "Unbekannt". Sie werden den Unterschied erst erkennen, wenn Sie den in textArea geschriebenen Text verwenden müssen.
JTextArea0.selectAll();
JTextArea0.replaceSelection("");