原来的代码如下:
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
放在函数末尾是否不会影响正常运行?