關閉視窗時彈對話方塊,點否就不關閉 的方法

2022-05-06 18:18:07 字數 1080 閱讀 6833

彈對話方塊的方法當然是讓框架實現windowlistener,注意不是windowslistener,然後重寫windowclosing()方法,讓視窗在正在關閉的時候彈乙個視窗。

乙個視窗:

int answer = joptionpane.showconfirmdialog(this, "blah", "blah", joptionpane.yes_no_option);

注意對話方塊是要靜態引用的,不需要new乙個joptionpane出來。

後面用answer來if一下就不用說了,都是靜態屬性,yes_option,no_option,cancel_option,之類之類的。

然後yes就system.exit(0)。

不過no,或者說else要單獨說一下,單純return的話因為框架已經在關閉中了,關掉對話方塊框架還是會繼續關閉,所以我們要打斷它。

打斷狗腿:

this.setdefaultcloseoperation(jframe.do_nothing_on_close);

半路給它set一下。

據我觀察,直接在框架初始化的時候設定是沒用的,大概這個方法是一次性的吧。

於是順道介紹一下setdefaultcloseoperation()這個方法。

引數裡面有幾個選項可選:

1.exit_on_close:關閉時呼叫system.exit(),整個關閉虛擬機器,也就是說整個程序都結束掉了,應該用在最外面的,也就是主框架上。

2.hide_on_close:隱藏框架,依然保留在記憶體裡,沒實際使用過,大概在別處setvisible()一下就可以讓它顯示出來。

3.dispose_on_close:處置(?)框架,取消框架顯示的同時釋放掉框架所佔資源,和hide的區別是能釋放記憶體,程序還會繼續執行,可以用於子視窗。

4.do_nothing_on_close:顧名思義,什麼也不幹,設定成這個的話不管怎麼點叉都關不掉。

VC 防止對話方塊中按回車或ESC時視窗關閉

vc 防止對話方塊中按回車或esc時視窗關閉 首先在標頭檔案中宣告函式 virtual bool pretranslatemessage msg pmsg 防止按回車或esc時視窗關閉 之後在對應的dlg.cpp中加入函式定義 bool cpg1104adlg pretranslatemessage...

jquery dialog對話方塊外掛程式例項彈層效果

本文章是利用了jquery dialog對話方塊外掛程式例項彈層效果哦,dialog彈出乙個iframe對話方塊,好了下面我們先來看看例項,然後再告訴你如何例項dialog對話方塊效果。function show explode hide highlight title 提示 url test.as...

自動關閉MessageBox對話方塊

方法1 模擬回車實現 settimer 1,1000,null messagebox test test1 在ontimer uint nidevent 中 if nidevent 1 方法2 getforegroundwindow 得到控制代碼 sendmessagecallback傳送訊息 vo...