0

JList に行を追加しようとしていますが、追加されません。Java + MySQL を使用しています。しかし、使用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)ますが、MySQL からデータを取得できるように、このメソッドに挿入する必要があります。

4

1 に答える 1

1

指摘したようListModelに、結果セットのすべてのレコードに対して を再度インスタンス化し、それを JList に設定しています。つまり、表示されるのは、resultSet の最後のレコードだけです。代わりに、次のようにする必要があります。

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

}
于 2013-03-12T16:12:13.220 に答える