如何从另一个类中的方法检索存储在ArrayList中的元素并将其显示在主类中

时间:2015-02-26 09:25:35

标签: java arraylist

我正在做一个简单的程序,我已经创建了一个连接到数据库的Java表单。

对于Java部分,我有两个类。一个包含所有GUI元素的类,我创建了另一个名为engine的类来执行处理。

程序很简单,只需在数据库中添加名称和年龄,另一个功能只显示到目前为止添加的所有元素。

对于引擎类,我有一个方法来获取存储在数据库中的所有元素,并将其保存在ArrayList中。

public ArrayList<String> getAllRecord() throws SQLException
{
    Statement st = connection().createStatement();
    st.executeQuery("SELECT * FROM RECORD");
    ResultSet rs = st.getResultSet();
    String age2;
    String name2;

while(rs.next()){
    name2 = rs.getString("NAME");
    dRecList.add(name2);
    double age = rs.getDouble("AGE");
    age2 = String.valueOf(age);
    dRecList.add(age2);
}
   return dRecList;
}

对于主类,我创建了一个按钮来访问引擎类以获取所有记录,它确实提供了所有元素。

private void showBtnActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
    engine en2 = new engine();
 for(int i=1; i < en2.getAllRecord().size(); i++){
            resultTxt.append(en2.getAllRecord().get(i));
        }
}

我遇到的问题是,如何在textArea的新行中显示每个元素?

2 个答案:

答案 0 :(得分:0)

添加\n

for(int i=1; i < en2.getAllRecord().size(); i++){
            resultTxt.append(en2.getAllRecord().get(i)+"\n");
        }

编辑最好使用for-each循环

for(String data: en2.getAllRecord()){
                resultTxt.append(data+"\n");
          }

答案 1 :(得分:0)

首先,不是强制性的,但最佳做法是,在名称和年龄属性上使用getter和setter创建表示表模型的对象

当您循环结果集时,您应该设置一个新的模型对象(具有名称和年龄)并将其添加到模型对象列表中(显然所有对象的列表相同)

然后使用此列表,您可以执行您想要的操作