I have a JTable populated with a custom DataModel (pasted below) and when I call the populate() method, it appears to populat
You could try to make the changes of populate more atomic.
public void populate(Collection c) {
ArrayList> data2 = new ArrayList>();
for(Item i : c.getItems()) {
ArrayList row = new ArrayList();
for(Property p : i.getProperties().values()) {
row.add(p.toString());
}
data2.add(row);
}
data = data2;
fireTableDataChanged();
}
I am guessing that populate is called again before a prior populate call finished. And probably c is changed during its iteration.