2016-11-30 73 views
-2

我目前被困在类项目的这一部分...我需要从文本文件创建一个ArrayList;文本文件具有需要在JComboBox中填充的帐号。这是我迄今为止...只有第一个帐号填充缺失,其余不知道我的错误是什么用不同类的ArrayList填充JComboBox

// AccountUtility class that reads file and creates ArrayList named test 

public class AccountUtility { 

    ArrayList<String> test = new ArrayList<String>(); 
    String[] number; 
    String columns[], accountNumber, customerName, openDate, balance; 
    int size; 


public AccountUtility(){ 


    BufferedReader in = null; 
    try{ // assume products.txt already exists 
    in = new BufferedReader(new FileReader("accounts.txt")); 
    String line = in.readLine(); 
    while(line != null) { 
    columns = line.split("<>"); 
    accountNumber = columns[0]; 
    customerName = columns[1]; 
    openDate = columns[2]; 
    balance = columns[3]; 

        line = in.readLine(); 
      } 
      in.close(); 
    } 
    catch(IOException ioe) 
    { 
      System.out.println(ioe); 
    } 
} 

public ArrayList <String> getAccountNumbers(){ 

    ArrayList <String> test = new ArrayList<String>(); 
    test.add(accountNumber); 

    return test; 




//class with JComboBox (GUI) 

public class BankAccountApp extends javax.swing.JFrame { 


    public BankAccountApp() { 

     initComponents(); 
     setLocationRelativeTo(null); 

     AccountUtility gc = new AccountUtility(); 

     for(String numbers : gc.getAccountNumbers()){ 
     accountNumberComboBox.addItem(numbers); 
     } 
    } 
+0

不要在构造函数中执行操作! –

回答

0

我本来以为你想要的是

while(line != null) { 
    columns = line.split("<>"); 
    accountNumber = columns[0]; 
    test.add(accountNumber); 
    .... 
} 

public ArrayList getAccountNumbers(){ 
    return test; 
} 
+0

谢谢你的工作! –

+0

如果这个答案有用,请考虑upvote和/或接受。 –