Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > При обновлении JTable вылетает Exception


Автор: infato 8.6.2010, 12:50
Есть JList есть jTable1.
При выборе в jListe  делается запрос в базу, обновляется jTable1 (всё работает корректно).
Когда  выбираю строку в jTable1,  всё отрабатывает тоже правильно, однако если возвращаюсь к выбору в jListe 
выскакивает Exception. 

Debug-er ведет listener повешенному  на jTable1

Код


ListSelectionModel selModel = jTable1.getSelectionModel();    
     
selModel.addListSelectionListener(new ListSelectionListener()
{
  @Override
  public void valueChanged(ListSelectionEvent e) {    
    if (!e.getValueIsAdjusting())
    {    
    DatabaseTableModel tableModel = (DatabaseTableModel) jTable5.getModel(); 
    if (tableModel.getValueAt(jTable5.getSelectedRow(), 5)!=null)
    {
     System.out.println("ne null");
     
    }
    else 
     System.out.println("NuLl");    
    }
  }
});




Автор: AntonSaburov 8.6.2010, 14:08
А в таблице точно есть значение по указанным столбцу и строке ?

Да и Exception слишком загадочный - какой он именно ?

Автор: infato 8.6.2010, 14:54
Данные точно есть, ошибка возникает при переходе с  jTable на jList



Цитата

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(Unknown Source)
    at test.DatabaseTableModel.getValueAt(DatabaseTableModel.java:29)
    at test.MyFrame$8.valueChanged(MyFrame.java:641)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(Unknown Source)
    at javax.swing.JTable.clearSelectionAndLeadAnchor(Unknown Source)
    at javax.swing.JTable.tableChanged(Unknown Source)
    at javax.swing.JTable.setModel(Unknown Source)
    at test.MyFrame$7.valueChanged(MyFrame.java:596)
...


Добавлено через 10 минут и 43 секунды
Проблему решил, добавлением метода с MyTableModel, который создает пустую модель.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)