Java - Swing GUI窗口顺序

时间:2012-05-09 11:43:16

标签: java windows swing

在下面的代码中,为什么“我的应用程序”窗口是前面的窗口?主要方法首先构造这个窗口,对吧?因此,当我的“我的窗口”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);
} 
}

2 个答案:

答案 0 :(得分:3)

这只是未定义的行为;无法保证 窗口始终位于前面。当我运行你的代码(Mac OS X,Java 6)时,“我的窗口”出现在前面,但我毫不怀疑你正确地描述了你的系统会发生什么。

答案 1 :(得分:1)

1)您无法将一个JFrame toFront()移到另一个JFrame

2)不要创建多个JFrame,此Top-Level Container的另一个问题是toFronttoBack

3)您已将JDialogJWindow视为另一个窗口

  • parentJFrame

  • 如果需要,
  • setModal

  • 需要ModalityTypes