如何清除JTextArea?

时间:2013-04-03 21:32:11

标签: java swing clear jtextarea settext

我正在尝试清除JTextArea。

目前,我正在使用

jtextarea.setText(null);

如果我使用

有什么区别
jtextarea.setText("");

4 个答案:

答案 0 :(得分:20)

没有区别。它们都具有删除旧文本的效果。来自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

答案 1 :(得分:1)

作者试图清除的是JTextArea,而不是向其中添加空字符!

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

这将选择整个textArea,然后将其替换为空字符串,从而有效地清除JTextArea。

不确定这是什么误解,但是我有相同的问题,这个答案为我解决了。

答案 2 :(得分:0)

实际上有区别,我想是的。

如果将其设置为null,则在文本区域中写入的实际值将不存在。但如果你把它设置为“”,它将是一个空角色。像你可以设置为“z”一样,会有写z,但null意味着未知。在您需要使用textArea中编写的文本之前,您不会畏惧这种差异。

答案 3 :(得分:0)

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