日期:2014-05-20  浏览次数:20768 次

如何在actionPerformed()函数中实现多线程方式!
原来的代码如下:
public   void   actionPerformed(ActionEvent   e)  
{
    dispose()
    UI2   ui2   =   new   UI2();
    ui2.setVisible(true);                                            
}
但是这样发现会导致UI死掉无相应的问题,为了解决这个问题,如何在这里实现多线程的方式呢?
谢谢各位了!

------解决方案--------------------
为什么不这样试一下

public void actionPerformed(ActionEvent e)
{
UI2 ui2 = new UI2();
ui2.setVisible(true);
dispose();
}
------解决方案--------------------
把UI2的创建放在一个线程中:
public void actionPerformed(ActionEvent e)
{
dispose(); //清除当前的UI1
Thread thread = new Thread() {
public void run() {
// 可以在这里加一些控制代码.
UI2 ui2 = new UI2();
ui2.setVisible(true);
}
}
thread.start();
}
------解决方案--------------------
关于 Inhibitory的回答
dispose(); //清除当前的UI1
放在函数末尾是否不会影响正常运行?