0

在下面的代码中,为什么“我的应用程序”窗口是最前面的窗口?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);
} 
}
4

2 回答 2

3

这只是未定义的行为;不能保证任何一个窗口总是在前面。当我运行您的代码(Mac OS X、Java 6)时,“我的窗口”出现在前面,但我毫不怀疑您正确地描述了系统上发生的情况。

于 2012-05-09T11:46:53.497 回答
1

1) 你不能将一个 JFrametoFront()移到另一个上JFrame

2)不要创建多个,JFrame这还有另一个问题Top-Level ContainertoFronttoBack

3)你已经看到JDialogJWindow作为另一个窗口

  • parent_JFrame

  • setModal如果需要的话

  • withModalityTypes是必需的

于 2012-05-09T11:47:30.333 回答