JTextAreaをクリアしようとしています。
現在、私は使用しています
jtextarea.setText(null);
私が使用する場合の違いは何ですか
jtextarea.setText("");
違いはありません。どちらも古いテキストを削除する効果があります。 Java TextComponent ページから:
setText
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
作者が試みたのは、JTextAreaをクリアすることであり、ヌル文字を追加することではありませんでした!
JTextArea0.selectAll();
JTextArea0.replaceSelection("");
これにより、textArea全体が選択され、null文字列に置き換えられ、JTextAreaが事実上クリアされます。
誤解がここにあるかどうかはわかりませんが、私は同じ質問を持っていて、この答えは私のためにそれを解決しました。
実際には違いがあります、私はそう思います。
Nullに設定すると、テキスト領域に書き込まれる実際の値は何もなくなります。ただし、「」に設定すると、空の文字になります。同じように「z」に設定するとzが書き込まれますが、nullは不明であることを意味します。 textAreaで書かれたテキストを使用する必要があるまで、違いを盗みません。
JTextArea0.selectAll();
JTextArea0.replaceSelection("");