本文實(shí)例講述了java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法。分享給大家供大家參考,具體如下:
先來(lái)看一個(gè)實(shí)例(一個(gè)空的java窗口):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package awtDemo; import javax.swing.*; //使用Swing類,必須引入Swing包 public class JFrameDemo1{ public static void main( String args[]) { //定義一個(gè)窗體對(duì)象f,窗體名稱為"一個(gè)簡(jiǎn)單窗口" JFrame f = new JFrame( "www.jfrwli.cn 一個(gè)簡(jiǎn)單窗口" ); //設(shè)置窗體左上角與顯示屏左上角的坐標(biāo), f.setLocation( 300 , 300 ); //離顯示屏上邊緣300像素,里顯示屏左邊緣300像素 f.setSize( 300 , 200 ); //設(shè)置窗體的大小為300*200像素大小 f.setResizable( false ); //設(shè)置窗體是否可以調(diào)整大小,參數(shù)為布爾值 //設(shè)置窗體可見,沒(méi)有該語(yǔ)句,窗體將不可見,此語(yǔ)句必須有,否則沒(méi)有界面就沒(méi)有如何意義了 f.setVisible( true ); //用戶單擊窗口的關(guān)閉按鈕時(shí)程序執(zhí)行的操作 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
程序運(yùn)行結(jié)果生成一個(gè)窗體,運(yùn)行效果如下:
感興趣的朋友可以根據(jù)程序代碼的注釋,依次修改相應(yīng)的方法參數(shù)查看效果。
再來(lái)看看setDefaultCloseOperation方法:
setDefaultCloseOperation(int operation)
:設(shè)置用戶在此窗體上發(fā)起 "close" 時(shí)默認(rèn)執(zhí)行的操作。方法中的參數(shù)解釋如下:
① 為“0”或DO_NOTHING_ON_CLOSE:
(在 WindowConstants 中定義):不執(zhí)行任何操作;要求程序在已注冊(cè)的WindowListener 對(duì)象的 windowClosing 方法中處理該操作。
比如實(shí)例程序代碼中更改為f.setDefaultCloseOperation(f. DO_NOTHING_ON_CLOSE);
或者f.setDefaultCloseOperation(0)
,然后查看效果,可以發(fā)現(xiàn)窗口無(wú)法關(guān)閉,下面是相同測(cè)試方法,不再解釋了。
② 為“1”或HIDE_ON_CLOSE
調(diào)用任意已注冊(cè)的 WindowListener 對(duì)象后自動(dòng)隱藏該窗體。此時(shí)沒(méi)有關(guān)閉程序,只是將程序界面隱藏了。可以打開任務(wù)管理器,可以看到一個(gè)叫“java.exe”的進(jìn)程(如果調(diào)試運(yùn)行了多個(gè)java程序,則會(huì)看到多個(gè)“java.exe”的進(jìn)程),如果此時(shí)用EditPlus測(cè)試程序,會(huì)發(fā)現(xiàn)當(dāng)單擊窗口的關(guān)閉按鈕關(guān)閉窗口后,卻無(wú)法再次對(duì)程序進(jìn)行調(diào)試,因?yàn)槌绦蚓€程沒(méi)有關(guān)閉,在任務(wù)管理器中關(guān)閉java.exe(如果有多個(gè)“java.exe”的進(jìn)程,則先都關(guān)閉掉,再來(lái)測(cè)試該問(wèn)題)基礎(chǔ)后,EditPlus才可以重新編譯改程序。
③ 為“2”或DISPOSE_ON_CLOSE
調(diào)用任意已注冊(cè) WindowListener 的對(duì)象后自動(dòng)隱藏并釋放該窗體。但繼續(xù)運(yùn)行應(yīng)用程序,釋放了窗體中占用的資源。
④ 為“3”EXIT_ON_CLOSE(在 JFrame 中定義):使用 System exit 方法退出應(yīng)用程序。僅在應(yīng)用程序中使用。結(jié)束了應(yīng)用程序。
⑤ 默認(rèn)情況下,該值被設(shè)置為 HIDE_ON_CLOSE。
當(dāng)注釋掉實(shí)例中的f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
語(yǔ)句時(shí),起到的效果和f.setDefaultCloseOperation(f. HIDE_ON_CLOSE);
或者f.setDefaultCloseOperation(1);
一樣。
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
原文鏈接:http://blog.csdn.net/liujun13579/article/details/7755871