Re: [問題] 把JDialog或JFrame關閉的方法

看板java作者 (星泉幼子)時間16年前 (2009/06/03 03:31), 編輯推噓5(504)
留言9則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《kkman0120 (kk)》之銘言: : 我想問有沒有除了按下右上角的x以外 : 能直接把整個Frame或Dialog真正關閉的方法 : 我有用過dispose() : 但是我發現他的作用跟右上角x一樣 : 好像只是把整個視窗給隱藏而沒有真正關閉 : 因為我有打開工作管理員 : 發現他其實還是在執行的 : 請問真的是這樣嗎? : 還是有什麼方法可以做到真的把他關閉呢? "真正關閉" 如果說 是工作管理員看不到那個程序, 那就是整個關掉了啊, System.exit() 的呼叫就是了 如果說 是某個JFrame給關閉掉, 但不是隱藏掉 那就是 JFrame的物件 去呼叫 .dispose() 一般JFrame在沒有給定下, 按右上角的X, 只算是隱藏掉 如同 .setVisible(false) 一樣 import java.awt.event.*; import javax.swing.*; class Dispose { public static void main(String[] args) { final JFrame jj = new JFrame(); jj.setSize(400,300); jj.setVisible(true); //jj.dispose(); } //{END main} } //{END class} Dispose 如果 jj.dispose(); 沒被執行, 而去按了jj視窗右上角的X 整個程式還不會結束, 表示jj只是隱藏了 但若是有執行 jj.dispose(); 則jj會直接被關閉, 而且整個程式也結束, 表示jj真的關閉了 要改變JFrame右上角X的作用, 就去呼叫 .setDefaultCloseOperation() 從API上可以知道, 預設是使用 HIDE_ON_CLOSE 可以依需求改成 DO_NOTHING_ON_CLOSE, DISPOSE_ON_CLOSE, 或 EXIT_ON_CLOSE -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.21.174

06/03 17:58, , 1F
我是有好幾個Frame 但是只要關閉某幾個而移沒有要整個程
06/03 17:58, 1F

06/03 18:01, , 2F
程式都結束掉 如我那篇文章下面的推文那樣@@
06/03 18:01, 2F

06/03 18:03, , 3F
我主要是想作一個按鈕 然後按鈕按下去就把它給真正關閉
06/03 18:03, 3F

06/03 18:05, , 4F
從來沒有人搞懂你所謂的"真正關閉"是什麼意思~~~
06/03 18:05, 4F

06/03 18:10, , 5F
yourJFrame = null; (誤
06/03 18:10, 5F

06/03 18:25, , 6F
所以說是我多疑了嘛...直接dispose()就可以關閉囉
06/03 18:25, 6F

06/04 00:51, , 7F
嗯嗯, 正常下, dispose可以關閉掉
06/04 00:51, 7F

06/06 00:44, , 8F
謝謝你@@
06/06 00:44, 8F

06/06 01:45, , 9F
謝謝AI大 包含上次的問題加上這個你整個幫我好多大忙@@
06/06 01:45, 9F
文章代碼(AID): #1A9NuXDs (java)
文章代碼(AID): #1A9NuXDs (java)