0

次のコードで、「My Application」ウィンドウが前面にあるのはなぜですか? main メソッドは最初にこのウィンドウを構築しますよね? 「My Window」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) を実行すると、「My Window」が前面に表示されましたが、システムで何が起こっているかを正しく説明していることは間違いありません。

于 2012-05-09T11:46:53.497 に答える
1

toFront()1) ある JFrameを別のJFrame に移動することはできませんJFrame

2) 複数の を作成しないでください。これにJFrameは別の問題があります。Top-Level ContainertoFronttoBack

3)JDialogまたはJWindow別のウィンドウとして見ている

  • parent_JFrame

  • setModal必要に応じて

  • ModalityTypes必要です

于 2012-05-09T11:47:30.333 に答える