[英]Java - Swing GUI Window Order
在以下代碼中,為什么“我的應用程序”窗口位於最前面? 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
視為另一個窗口
與JFrame
parent
一起
使用setModal
如果需要)
需要ModalityTypes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.