EDT上插入的Java Swing TableModel FireTableRowsn

EDT上插入的Java Swing TableModel FireTableRowsn,java,swing,Java,Swing,我有一个从后台运行线程填充的TableModel。我在插入数据时调用fireTableRowsInserted,该数据不在EDT上 我的问题是,我是否需要为fireTableRowsInserted使用invokeLater 换言之,以下内容是否正确: public void putData(TableRow row) { // we are not on the EDT here... rows.add(row); fireTableRowsInserted(rows.

我有一个从后台运行线程填充的TableModel。我在插入数据时调用fireTableRowsInserted,该数据不在EDT上

我的问题是,我是否需要为fireTableRowsInserted使用invokeLater

换言之,以下内容是否正确:

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

好吧,因为这个事件可能会触发表重绘,所以它应该在EDT中,是的。但是您可以依靠
SwingUtilities.invokeLater
在EDT中只调用相关部分