EDT上插入的Java Swing TableModel FireTableRowsn
我有一个从后台运行线程填充的TableModel。我在插入数据时调用fireTableRowsInserted,该数据不在EDT上 我的问题是,我是否需要为fireTableRowsInserted使用invokeLater 换言之,以下内容是否正确: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.
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中只调用相关部分