我正在尝试清除写有内容的文本区域。 我一直在尝试使用repaint()方法,因为我认为这种方法会重置文本区域,但它一直没有用。
我正在使用文本区域和列表。单击列表成员时,所述成员将显示在文本区域中。因此,当他们“取消选择”时,我需要先前写过的成员从文本区域消失。
以下是valueChanged的代码,这是发生的事情:
public void valueChanged(ListSelectionEvent e)
{
Object source = e.getSource();
int[] indices = songList.getSelectedIndices();
DecimalFormat df = new DecimalFormat("#0.00");
Song[] selection = new Song[indices.length];
for(int i = 0; i < indices.length; i++)
{
selection[i] = songCollection[indices[i]];
}
if(e.getValueIsAdjusting() == false)
{
for(int i = 0; i < selection.length; i++)
{
textArea.repaint(); //Shouldn't this work?
textArea.append(selection[i].getTitle() + " " + selection[i].getArtist() + " " + df.format(selection[i].getPrice()) + "\n" );
}
}
}
PS,我对Stack Overflow很新,所以如果我做错了什么,请随时告诉我。
答案 0 :(得分:4)
将此
TextComponent
的文本设置为指定的文本。如果是文字 是null
或为空,具有简单删除旧文本的效果。什么时候 已插入文本,生成的插入符号位置由确定 插入符号类的实现。
因此,要清除JTextArea
组件中的文字,请执行setText(null)
或setText("")
。
答案 1 :(得分:2)
如上所述。
setText(“”)也适用于文本字段btw。