方法一:

在霞山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)營銷網(wǎng)站建設(shè),霞山網(wǎng)站建設(shè)費(fèi)用合理。
類 JFrame
javax.swing.JFrame
JFrame中的方法void setDefaultCloseOperation(int)可以設(shè)置
以下為改方法的用法:
setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)設(shè)置用戶在此窗體上發(fā)起
"close" 時(shí)默認(rèn)執(zhí)行的操作。必須指定以下選項(xiàng)之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定義):不執(zhí)行任何操作;要求程序在已注冊(cè)的
WindowListener 對(duì)象的 windowClosing 方法中處理該操作。
HIDE_ON_CLOSE(在 WindowConstants 中定義):調(diào)用任意已注冊(cè)的 WindowListener
對(duì)象后自動(dòng)隱藏該窗體。
DISPOSE_ON_CLOSE(在 WindowConstants 中定義):調(diào)用任意已注冊(cè) WindowListener
的對(duì)象后自動(dòng)隱藏并釋放該窗體。
EXIT_ON_CLOSE(在 JFrame 中定義):使用 System exit
方法退出應(yīng)用程序。僅在應(yīng)用程序中使用。
默認(rèn)情況下,該值被設(shè)置為 HIDE_ON_CLOSE。更改此屬性的值將導(dǎo)致激發(fā)屬性更改事件,其屬性名稱為
"defaultCloseOperation"。
注:當(dāng) Java 虛擬機(jī) (VM) 中最后一個(gè)可顯示窗口被釋放后,虛擬機(jī)可能會(huì)終止
要實(shí)現(xiàn)你說的,應(yīng)該采用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
方法二:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Test extends JFrame {
public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);
//設(shè)置關(guān)閉時(shí)什么也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//監(jiān)聽關(guān)閉按鈕的點(diǎn)擊操作
this.addWindowListener(new WindowAdapter(){
//new 一個(gè)WindowAdapter 類 重寫windowClosing方法
//WindowAdapter是個(gè)適配器類 具體看jdk的幫助文檔
public void windowClosing(WindowEvent e) {
//這里寫對(duì)話框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
System.exit(0);
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
方案操作如下:
(1)讓程序在一個(gè)單獨(dú)的線程中運(yùn)行,然后在終止時(shí),可以用線程的終止方法來結(jié)束它。
(2)退出Java程序時(shí)盡量不要使用java.lang.System的exit方法。Exit?方法可以終止JVM,從而終止程序,但如果同時(shí)運(yùn)行了另一個(gè)Java程序,使用exit方法就會(huì)讓該程序也關(guān)閉,這顯然不是希望看到的情況!!!!
要退出Java程序,可以使用destory()退出一個(gè)獨(dú)立運(yùn)行的過程。對(duì)于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。
只有在程序非正常退出時(shí),才使用exit方法退出程序
System.exit(-1)終止當(dāng)前正在運(yùn)行的 Java 虛擬機(jī),退出程序。
其中參數(shù)按照慣例,是用非零的參數(shù)碼表示異常終止。
可以用這個(gè)語句,他是用來強(qiáng)制讓程序退出的。
System.exit(1);
例子:
public class Test {
public void doSomething(){
System.out.println("do something...");
System.exit(1);
System.out.println("Cannot be done...");
}
}
因?yàn)橛蠸ystem.exit(1);語句,"Cannot be done"永遠(yuǎn)都沒有辦法打出來。
在java程序中,可以使用java.lang.System的exit方法來終止程序的執(zhí)行,
12345678
public static void main(String[] args) { System.out.println("開始進(jìn)入程序..."); //do something System.out.println("程序準(zhǔn)備退出了!"); System.exit(0); //下面這句話將不會(huì)打印出來 System.out.println("程序已經(jīng)退出了!");}
但是使用exit方法的本質(zhì)是終止了JVM的運(yùn)行,如果同時(shí)運(yùn)行了另外一個(gè)程序,使用exit方法同樣也會(huì)使該程序也終止,要避免此種情況可以使用interrupt()來中斷退出一個(gè)獨(dú)立運(yùn)行的過程。對(duì)于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。
1234567891011121314151617181920212223
public static void main(String[] args) { System.out.println("開始進(jìn)入程序..."); //do something new Thread(){ public void run() { while (true) { System.out.println("我是另外的線程..."); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start(); //獲取man線程 Thread main = Thread.currentThread(); System.out.println(main.getName()); main.interrupt(); System.out.println("main線程已經(jīng)退出了,但是不影響其他線程運(yùn)行!"); }
只有在程序非正常退出時(shí),才使用exit方法退出程序。
本文名稱:java使程序退出代碼 編程退出的程序
本文路徑:http://chinadenli.net/article4/hipjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站改版、移動(dòng)網(wǎng)站建設(shè)、ChatGPT、企業(yè)網(wǎng)站制作、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)