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 标题(雨)......我怎样才能让所有五个 cd 标题都出现在一行上?

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 回答