3
ArrayList <String> cdcollection = new ArrayList();

private void initButtonActionPerformed(java.awt.event.ActionEvent evt) {
    Collections.addAll(cdcollection, "small", "mayre", "brown", "evner", "rain" );
    initButton.setEnabled(false);

}

private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {

          for (int i = 0; i < cdcollection.size(); i++)  {
          mainTextArea.setText(cdcollection.get(i));
    }
}

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
    cdcollection.add(cdtitleInput.getText());
}

private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {
    cdcollection.remove(cdcollection.size()-1);
}

これを実行して表示ボタンをクリックすると、最後のCDタイトル(雨)のみが表示されます... 5つのCDタイトルすべてを1行に表示するにはどうすればよいですか?

4

3 に答える 3

8

Append()の代わりに使用setText()

于 2012-05-21T16:26:45.657 に答える
0

displayButtonActionPerformed以下のように方法を変更してください。

private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {    
    String str = "";
    for (int i = 0; i < cdcollection.size(); i++)  {
          str = str + cdcollection.get(i);
    }
    mainTextArea.setText(str);
}
于 2012-05-21T16:28:28.833 に答える
0

簡略化されたforループを使用します。

private void displayButtonActionPerformed (ActionEvent evt) {    
    for (String cd : cdcollection) {
          mainTextArea.append (cd + "\n");
    }
}

多くの場合、オフバイワンエラーを防ぎ、短く、読みやすくなります。

于 2012-05-21T23:22:37.077 に答える