2012-04-08 105 views
0

我正在從csv文件中讀取項目,然後使用StringTokenizer將元素截斷並將它們放入JLabels中。到目前爲止,我已經放棄了這部分。我有按鈕滾動瀏覽每個位置,但我不確定如何輸入字段並將其添加到數組中?如何添加到數組列表

這是我的計劃的主要部分至今

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

有沒有在那裏我可以只需鍵入我已經奠定了的JLabel,並添加到陣列上更簡單的方法?

我有點迷失在這一點上,我不確定如何進一步與此。

+1

樣式註釋:不要大寫非類的事物的名稱。它混淆了讀者(以及語法熒光筆)。 – Taymon 2012-04-08 02:50:45

+2

對不起,但我不能告訴你在問什麼。清單的確切位置,以及您想要追加的內容? – Taymon 2012-04-08 02:57:03

回答

0

你的問題似乎是你想在一個班級內做太多事情。這是可能的,但組織得不是很好。

創建一個單獨的課程來保存單個汽車記錄。它應該是簡單的「bean」或「POJO」類,通常由一些私有屬性和公共getter和setter(aka訪問器和mutators)組成。您的汽車列表將由這些對象組成。

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