JFrame
和JDialog
有什麼區別?JFrame和JDialog有什麼區別?
爲什麼我們不能使用setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE);
作爲JDialog?
JFrame
和JDialog
有什麼區別?JFrame和JDialog有什麼區別?
爲什麼我們不能使用setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE);
作爲JDialog?
JFrame
是一個正常的窗口及其正常的按鈕(可選)和裝飾。另一方面JDialog
沒有最大化和最小化按鈕,並且通常使用靜態方法創建,並且更適合使它們變爲模態(它們在關閉之前阻止其他組件)。
但都從窗口繼承,所以他們共享很多功能。
爲什麼我們不能使用
setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
爲JDialog
?
當然可以。
發佈您的SSCCE,說明您在使用此值時遇到的問題。
但是因爲該值是不支持這是有道理的,因爲一個JDialog
是一個「孩子」或爲您的應用程序,它由JFrame
代表的「幫手」窗口中,你不能使用EXIT_ON_CLOSE
的JDialog
。關閉對話框不應該關閉應用程序。
您的權利。我將它編輯爲** setDefaultCloseOperation(JDialog.Exit_ON_CLOSE); ** – 2011-04-05 18:11:50
您也可以使用setModal(boolean t);
這隻適用於JDialog
。用戶必須在其他窗口上操作JDialog
。如果他們想操作所有者窗口,他們必須關閉這個JDialog
。
我會使用更新的[ModalityType](http://docs.oracle.com/javase/8/docs/api/java/ awt/Dialog.ModalityType.html)構造代替布爾模式API--更精細的紋理控制和更清晰的代碼。 – gerardw 2015-07-21 16:38:24
您對JavaDocs的建議有何看法?您對屏幕上兩個組件的檢查結果是什麼? – 2011-04-05 13:54:40