Java Swing TableModel fireTableRowsInserted на EDT - PullRequest
2 голосов
/ 19 апреля 2010

У меня есть TableModel, который заполняется из фонового запущенного потока. Я вызываю fireTableRowsInserted при вставке данных, которых нет на EDT.

У меня вопрос: нужно ли использовать invokeLater для fireTableRowsInserted?

Другими словами, верно ли следующее:

public void putData(TableRow row) {
    // we are not on the EDT here...
    rows.add(row);
    fireTableRowsInserted(rows.size()-1, rows.size()-1);
}

1 Ответ

2 голосов
/ 19 апреля 2010

Ну, так как это событие может вызвать перерисовку таблицы, оно должно быть в EDT, да. Но вы можете рассчитывать на SwingUtilities.invokeLater, что в EDT вызывается только соответствующая часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...