我正在开发一个从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并添加到数组中?
我现在有点失落,我不确定如何进一步解决这个问题。
答案 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);