2013-04-03 16 views
20

私はJTextAreaをクリアしようとしています。私は違いはありませんJTextAreaをクリアするには?

jtextarea.setText(""); 
+1

'jtextarea.setText(" ")'は、内部ハッシュセットにキャッシュされているため、最初に作成された_(空の文字列_を意味します)。しかし、これは今日のシステムではあまり関係ありません。空の文字列は、ある時点ではより読みやすくなります。 – Mordechai

+0

これらの質問をすると、setText()のソースコードを参照して、自分で違いを見ることができます。 – Charlie

答えて

19

を使用する場合

現在、私は違いは何ですか

jtextarea.setText(null); 

を使用しています。それらはどちらも古いテキストを削除する効果があります。 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 
+0

このリンクを修正して、適切なSwingコンポーネント 'JTextComponent'を参照し、AWTコンポーネントは参照しないでください。むしろ最新のjavadoc、つまり1.7 –

+0

を参照してください。ありがとうございます。 –

0

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

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

+0

「空の文字」とは何ですか? – Charlie

+0

空の文字は、似たような空間です。私の考えでは。それは文字ですが、あなたがそれを印刷するならば。何も表示されません。しかし、あなたが "null"を印刷すると、それは実際のテキスト - ヌルと表示されます。 –

+0

''は空の文字ではなく、長さゼロの文字列です。 – Charlie

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

説明のためにテキストにテキストを追加し、コードが何を行い、最初の質問にどのように答えているかを記入してください。 – user1438038

関連する問題