swing为了安全使用SwingUtilities.invokeLater 如下方法,这样在main方法中即主线程里所有的UI操作都放到了swing线程里,包括后边程序里开启的表格,按钮事件都是没问题的。
public static void main( String[] args ){
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
MainFrame w = new MainFrame();
w.setVisible( true );
}
} );}
问题:我的程序里有个功能是“入库”,它又起了一个线程,而且线程里又用到了UI的东西,这时这些UI没有放到swing线程里,然后就会报一个错误“Component creation must be done on Event Dispatch Thread”!
我把里边的某个UI操作再放到swin线程里,像上边那样,就好了,关键是里边对UI的操作太多了,放的话得一个个全放。这样不可行,有什么办法呢????
public static void main( String[] args ){
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
MainFrame w = new MainFrame();
w.setVisible( true );
}
} );}
问题:我的程序里有个功能是“入库”,它又起了一个线程,而且线程里又用到了UI的东西,这时这些UI没有放到swing线程里,然后就会报一个错误“Component creation must be done on Event Dispatch Thread”!
我把里边的某个UI操作再放到swin线程里,像上边那样,就好了,关键是里边对UI的操作太多了,放的话得一个个全放。这样不可行,有什么办法呢????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货