2014-11-21 4 views
0

Я пытаюсь создать метод, который будет обновлять список, который уже был создан. Я не уверен, почему это не работает?Добавить элементы в 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); 
    } 
} 

Спасибо заранее !!

+0

Что происходит, когда вы запускаете этот код? Ничего не происходит? Вызывает ли это исключение? Ваш компьютер печатает кодированные сообщения? –

+0

Вы можете уточнить? вы получаете сообщения об ошибках? Вы даже добавляете материал в свой список? возможно, вы забыли jList1.add (stuffToAdd); ??? –

+0

Да, когда я запускаю код, он генерирует исключение с нулевым указателем. – BEE

ответ

1

Есть 2 основные проблемы с этим кодом:

  1. В то время цикла, вы создаете много экземпляров DefaultListModel. Это означает, что для каждой записи результата запроса вы перезапускаете список.
  2. Исключение nullpointer создается по строке: connect.rs.next(), потому что вы не назначили connect.rs с помощью набора результатов запроса.
Смежные вопросы