主程序界面b中有一个button,点击它执行一个如下方法。
JFrame a = new JFrame()
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
a.setLocation( screenSize.width / 3,screenSize.height / 2);
a.setSize(300, 150);
a.show()
mothed();//这是主窗体b中一个比较耗时的方法。比如执行20s.
a.dispose();执行的问题是:在a.show()之后,执行mothed()方法,这时候a窗体就隐藏在b这个主窗体之后了,也就是当前活动窗体变成b了,有没有什么办法使a一直处理活动状态,直到dispose()后关闭。当然,最重要的是mothed()方法也要执行(这种要求就使用模态的JDialog就不能完成了)。还望各位高手指教。小弟先谢过了。
JFrame a = new JFrame()
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
a.setLocation( screenSize.width / 3,screenSize.height / 2);
a.setSize(300, 150);
a.show()
mothed();//这是主窗体b中一个比较耗时的方法。比如执行20s.
a.dispose();执行的问题是:在a.show()之后,执行mothed()方法,这时候a窗体就隐藏在b这个主窗体之后了,也就是当前活动窗体变成b了,有没有什么办法使a一直处理活动状态,直到dispose()后关闭。当然,最重要的是mothed()方法也要执行(这种要求就使用模态的JDialog就不能完成了)。还望各位高手指教。小弟先谢过了。
import javax.swing.JFrame;import com.sun.media.sound.Toolkit;public class sdadsa { public static void main(String args[]){
JFrame a = new JFrame();
a.setLocation( 500,300);
a.setSize(300, 150);
a.setTitle("a");
a.show();
Thread t1 = new Thread(){
public void run(){
JFrame b = new JFrame();
b.setSize(300, 150);
b.setTitle("b");
b.setFocusableWindowState(false);
b.show();
}
};
t1.start();
try{
Thread.sleep(5000);
}catch(Exception e){
e.printStackTrace();
}
a.dispose();
}
}