Java 将行添加到JList
我正在尝试向JList添加一行,但没有成功。我正在使用Java+MySQL。但是当使用Java 将行添加到JList,java,mysql,row,jlist,Java,Mysql,Row,Jlist,我正在尝试向JList添加一行,但没有成功。我正在使用Java+MySQL。但是当使用System.out.println()时,它是有效的 以下是接收数据的代码: public void writeResultSet(ResultSet resultSet) throws SQLException { while (resultSet.next()) { String student_firstname = resultSet.getString("student_
System.out.println()
时,它是有效的
以下是接收数据的代码:
public void writeResultSet(ResultSet resultSet) throws SQLException {
while (resultSet.next()) {
String student_firstname = resultSet.getString("student_firstname");
String student_middlename = resultSet.getString("student_middlename");
String student_lastname = resultSet.getString("student_lastname");
DefaultListModel listModel = new DefaultListModel();
listModel.addElement("" + student_firstname + " " + student_middlename + " " + student_lastname);
jList1.setModel(listModel);
}
}
另外,如果我尝试在
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt)
中添加listmodel,但使用定义的字符串,它可以工作,但我需要将其插入此方法中,以便从MySQL获取数据。如前所述,您正在实例化ListModel
,并将其设置为结果集中每个记录的JList,这意味着您将看到的唯一内容是结果集中的最后一条记录。相反,您应该这样做:
public void writeResultSet(ResultSet resultSet) throws SQLException {
DefaultListModel listModel = new DefaultListModel();
while (resultSet.next()) {
String student_firstname = resultSet.getString("student_firstname");
String student_middlename = resultSet.getString("student_middlename");
String student_lastname = resultSet.getString("student_lastname");
listModel.addElement("" + student_firstname + " " + student_middlename + " " + student_lastname);
}
jList1.setModel(listModel);
}
您正在创建一个新模型,并为结果的每一行将其提交给列表一次,您确定这是您想要的吗?使用此选项,您只能在JList中添加最后一个学员