在下面的代码中,为什么"我的应用程序"窗口是前面的窗口?main 方法首先构造这个窗口,对吧?那么,当"我的窗口"JFrame制作时,它不应该在后面吗?
public class MyApp extends JFrame {
public MyApp() {
super();
setSize(300,600);
setTitle("My Application");
setVisible(true);
}
public static void main(String[] args) {
MyApp application = new MyApp();
JFrame window = new JFrame();
window.setSize(600,300);
window.setTitle("My Window");
window.setVisible(true);
}
}
这只是未定义的行为;不能保证任何一个窗口将始终位于前面。当我运行你的代码(Mac OS X,Java 6)时,"我的窗口"出现在前面,但我毫不怀疑你正确地描述了系统上发生的事情。
1)你不能将一个JFrame toFront()
移动到另一个JFrame
2)不要创建多个JFrame
,这个Top-Level Container
还有另一个问题,因为toFront
,toBack
3)您将JDialog
或JWindow
视为另一个窗口
-
与
parent
到JFrame
-
如果需要,可带
setModal
-
需要
ModalityTypes