SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
mainTablePane.tableRefresh();
}
});
对于上述代码。因为Swing是单线程执行的。调用invokeLater,是为了使new Runnable()和run()并行,异步执行。具体来说,将new Runnable()加入到事件处理线程中,按队列依次处理每个待处理的时间,当事件处在队首时,部件Pane立即重画,并调用run()方法执行下一个线程。