Mapping ArrayList?

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

When I run this and press the display button, only the last title cd (rain) appears ... How can I get all five CD names to appear on one line?

+3
source share
3 answers

Changes to the method displayButtonActionPerformedas shown below.

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
source

Use Append()insteadsetText()

+8
source

Use the simplified for loop.

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

It often prevents errors one by one, it is often shorter and better read.

0
source

All Articles