2012-05-21 80 views
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標題出現在每一行?顯示一個ArrayList?

回答

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); 
} 
+0

謝謝,這個效果更好,因爲append通過按下時添加整個集合來影響添加按鈕。 – May

+0

如果問題解決了,請接受答案。這是如何工作... –

+0

簡化的for循環不適合你? –

8

使用Append()而不是setText()

+0

謝謝,這個作品,但他們都出現在一行? – May

+0

您可以使用\ n進行換行。如果必須,您還可以在使用append()之前使用setText()清除該框。 – OmniOwl

0

使用簡化的for-loop。

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

它通常會防止逐個錯誤,它通常更短,而且更易讀。