Я использую JTable. Многие потоки будут пытаться добавить строки в JTable.
Проблема: добавляется только одна строка. После этого строка не добавляется.
Я использую JTable. Многие потоки будут пытаться добавить строки в JTable.
Проблема: добавляется только одна строка. После этого строка не добавляется.
Swing, как правило, не является потокобезопасным. Если вам нужно изменить компоненты Swing из потоков, отличных от AWT Event-dispatch-Thread, используйте
SwingUtilities.invokeLater(new Runnable(){public void run() {
// here your modification code
}});
В качестве альтернативы invokeAndWait
. (Эти методы на самом деле делают то же самое, что и одноименные методы в java.awt.EventQueue
.)
Добавляется только одна строка. После этого строка не добавляется.
Возможно, потому что вы каждый раз воссоздаете TableModel или у вас есть несколько ссылок на TableModel, и ваш код обновляет неправильную модель.