如果是在DOS界面,使用Scanner類實(shí)現(xiàn)輸入,就用你寫的while的條件,運(yùn)行時當(dāng)你想結(jié)束程序,只要回車后按Ctrl+Z然后回車就結(jié)束了。但是其他的IO流就不清楚怎么結(jié)束,試驗(yàn)過沒找到滿意的方法。
成都創(chuàng)新互聯(lián)公司主營牡丹網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),牡丹h5小程序制作搭建,牡丹網(wǎng)站營銷推廣歡迎牡丹等地區(qū)企業(yè)咨詢
給退出菜單添加監(jiān)聽,響應(yīng)函數(shù)如下JOptionPane.showConfirmDialog就是彈出一個確認(rèn)窗口,frame參數(shù)即當(dāng)前主窗口,將它作為確認(rèn)窗口的父口,此參數(shù)也可以設(shè)null。 frame.dispose()表示釋放此窗口的所有資源并關(guān)閉。當(dāng)然嘍,如果點(diǎn)擊退出菜單之后就退出了整個程序,那也可以直接用System.exit(0)來替代frame.dispose();
public?void?actionPerformed(ActionEvent?e)
{
if?(JOptionPane.showConfirmDialog(frame,?"確認(rèn)退出?")?==?JOptionPane.YES_OPTION)
{
frame.dispose();
}
}
CS結(jié)構(gòu)系統(tǒng)的退出如下:public void init() {
this.setTitle("用戶登錄界面");
this.add(createCenterPane());
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(450, 335));
this.setLocationRelativeTo(null);
// this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "是否要退出登錄界面?",
"系統(tǒng)提示:", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(1);
}
}
});
}其中this為JFrame對象。BS結(jié)構(gòu)的退出直接用windows.close()方法就行了!
是一個java程序么,不是android應(yīng)用吧,建議運(yùn)用線程來處理。首先建立一個線程,睡眠時間你自己定義設(shè)為X,醒來后就把java窗體關(guān)閉。給java的窗體添加事件監(jiān)聽,包括所有你想監(jiān)聽的事件,為了方便,可以只監(jiān)聽鼠標(biāo)單擊事件。一旦事件發(fā)生,則喚醒那個線程,這樣它就睡不足X秒,并且直接進(jìn)入下一個迭代,繼續(xù)睡眠X秒。直到有一次單擊后X秒內(nèi)沒有操作,這時候線程不會觸發(fā)InterruptedException 異常,就會執(zhí)行關(guān)閉窗體的操作。
原理就是這樣子,代碼可以根據(jù)這個自己寫一下,目前沒有時間幫你寫代碼,呵呵。
在一個純java項(xiàng)目中,登錄就是你從客戶端收受賬戶和密碼,和數(shù)據(jù)庫中已有的鍵值對進(jìn)行匹配,如果匹配順利,就顯示登錄成功。接著后臺向前臺返回數(shù)據(jù),跳轉(zhuǎn)到相應(yīng)的頁面。匹配程序可以單獨(dú)寫一個類,或者在工具類中封裝一個方法,傳入前臺發(fā)過來的數(shù)據(jù),最后返回一個布爾值。
退出功能的實(shí)現(xiàn),就是后臺發(fā)送數(shù)據(jù),直接退出當(dāng)前賬戶?;蛘哧P(guān)閉客戶端。