我正在做一个简单的程序,我已经创建了一个连接到数据库的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的新行中显示每个元素?
答案 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创建表示表模型的对象
当您循环结果集时,您应该设置一个新的模型对象(具有名称和年龄)并将其添加到模型对象列表中(显然所有对象的列表相同)
然后使用此列表,您可以执行您想要的操作