如何添加到arraylist

时间:2012-04-08 02:29:27

标签: java csv arraylist

我正在开发一个从csv文件读取的项目,然后使用StringTokenizer来切割元素并将它们放入JLabel。到目前为止,我把那部分放下了。我有按钮滚动每个位置,但我不确定如何键入字段并添加到数组?

到目前为止,这是我的计划的主要部分

// program reads in csvfile.
private void loadCarList() {
    try{
        BufferedReader CSVFile = new BufferedReader(new FileReader("car.txt"));
        String dataRow = CSVFile.readLine();

        while(dataRow != null){

        carList.add(dataRow);
        dataRow = CSVFile.readLine();

        }

        }catch(Exception e){
            System.out.println("Exception while reading csv file: " + e);                  
        }
    }
}

//this will click cycle through the elements in the Jlabels.

private void loadNextElement(){

    try {
        StringTokenizer st = new StringTokenizer((String)carList.get(position), ",");
        while(st.hasMoreTokens() && position <= carList.size() -1) {

            position ++;
            String CarID = st.nextToken();
            String DealerShipID = st.nextToken();
            String ColorID = st.nextToken();
            String Year = st.nextToken();
            String Price = st.nextToken();
            String Quantity = st.nextToken();

            tCarID.setText(CarID);
            tDealerShip.setText(DealerShipID);
            tColor.setText(ColorID);
            tYear.setText(Year);
            tPrice.setText(Price);
            tQuantity.setText(Quantity);
        }

    } catch(Exception e){
        JOptionPane.showMessageDialog(null, "youve reached the end of the list");
    }
}

有没有更简单的方法可以输入我已经布局的jlabels并添加到数组中?

我现在有点失落,我不确定如何进一步解决这个问题。

1 个答案:

答案 0 :(得分:0)

你的问题似乎是你试图在一堂课中做太多。这是可能的,但组织得不是很好。

创建一个单独的类来保存单个Car记录。它应该很简单&#34; bean&#34;或者&#34; POJO&#34;类通常由一些私有属性和公共getter和setter(又名访问器和mutator)组成。您的汽车清单将由这些物品组成。

public class Car {
  private String carID;
  ...
  private Integer quantity;

  public getCarID() {
     return this.carID;
  }
  ...
  public setQuantity(Integer quantity) {
    this.quantity=quantity;
  }
}

将您的汽车列表定义为当前班级的属性,每次将汽车添加到列表中时,请从您的汽车类构建汽车。

Car car=new Car();
car.setCarID(st.nextToken());
...
car.setQuantity(Integer.valueOf(st.nextToken()));
this.carList.add(car);