将项添加到jList

时间:2014-11-21 16:05:10

标签: java jlist

我正在尝试创建一个方法来更新已创建的列表。我不知道为什么这不起作用?

抛出空指针异常。

这是我的代码:

private void UpdateJList(){
    String query = "SELECT * FROM names WHERE TYA=?";
    String partialSearch = "Sales";
    try{
        connect.pst = connect.con.prepareStatement(query);
        connect.pst.setString(1, partialSearch);
        connect.pst.execute();
        ArrayList<String> add = new ArrayList<String>();
        String[] items = {};
        while (connect.rs.next()){
            String result = connect.rs.getString("ACNO");
            add.add(result);
            int length = add.size();
            DefaultListModel<String> model;
            model = new DefaultListModel<String>();
            for (int i=0; i<length; i++){
                model.add(i, result);
            }
            jList1.setModel(model);     
            jList1.setSelectedIndex(0);
       }
   }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
   }
} 

提前谢谢!!

1 个答案:

答案 0 :(得分:1)

该代码存在两个主要问题:

  1. 在while循环中,您将创建许多DefaultListModel实例。这意味着,对于查询结果的每个条目,您正在重新启动列表。
  2. 由以下行生成nullpointer异常:connect.rs.next(),因为您未使用查询的结果集分配connect.rs。