何かが書かれているテキスト領域をクリアしようとしています。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を初めて使用するので、何か間違ったことをした場合は、遠慮なく教えてください。