web-dev-qa-db-ja.com

JTextAreaをクリアする方法は?

JTextAreaをクリアしようとしています。

現在、私は使用しています

jtextarea.setText(null);

私が使用する場合の違いは何ですか

jtextarea.setText("");
24
Lord Rixuel

違いはありません。どちらも古いテキストを削除する効果があります。 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
21
Kevin S

作者が試みたのは、JTextAreaをクリアすることであり、ヌル文字を追加することではありませんでした!

    JTextArea0.selectAll();
    JTextArea0.replaceSelection("");

これにより、textArea全体が選択され、null文字列に置き換えられ、JTextAreaが事実上クリアされます。

誤解がここにあるかどうかはわかりませんが、私は同じ質問を持っていて、この答えは私のためにそれを解決しました。

1
John Perczyk

実際には違いがあります、私はそう思います。

Nullに設定すると、テキスト領域に書き込まれる実際の値は何もなくなります。ただし、「」に設定すると、空の文字になります。同じように「z」に設定するとzが書き込まれますが、nullは不明であることを意味します。 textAreaで書かれたテキストを使用する必要があるまで、違いを盗みません。

0
exploded Baloon
JTextArea0.selectAll();
JTextArea0.replaceSelection("");
0