目的:在界面上需要用线程去处理一个逻辑,不影响主程序
我经常用这种方式:
new Thread(new Runnable()
public void run() {
...
}
).start();发现别人都是这样写swing线程去处理一个逻辑的
SwingUtilities.invokeLater(run);
看了API,没完全明白两者有区别不,后者有什么好,谢谢 明早结贴
我经常用这种方式:
new Thread(new Runnable()
public void run() {
...
}
).start();发现别人都是这样写swing线程去处理一个逻辑的
SwingUtilities.invokeLater(run);
看了API,没完全明白两者有区别不,后者有什么好,谢谢 明早结贴
public static void main( String[] args ){
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
MainFrame w = new MainFrame();
w.setVisible( true );
}
} );}
从Swing主线程以外的线程,对Swing的界面进行操作更新,是不安全的而SwingUtilities.invokeLater是把你要进行的操作,
排进Swing主线程的事件序列中
由Swing主线程依次处理,这样的做法是安全的,
同时也能达到你需要通过另一个线程完成的效果