導航:首頁 > 編程語言 > java如何關閉對話框

java如何關閉對話框

發布時間:2024-12-19 17:09:57

A. 我是java新手。java中點擊關閉窗口,然後怎樣才能出現提示對話框呢點擊確定才真正退出的那種。麻煩啦

關鍵:
1 調用JFrame的oseOperation(),設置關閉模式為DO_NOTHING_ON_CLOSE(就是默認關閉效用減半,僅觸發WindowListener中的windowClosing方法)
2 彈對話框,確認關閉後,添加JFrame的dispose()

代碼
package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class MainFrame extends JFrame {

//退出按鈕
JButton exitBtn;
//保留本框架實例的指針
JFrame thisFrame;

public static void main(String[] args) {

MainFrame mainFrame=new MainFrame();
mainFrame.pack();
mainFrame.setVisible(true);
}

public MainFrame(){
thisFrame=this;
initGUI();
}

private void initGUI(){
exitBtn=new JButton("退出");
exitBtn.setBounds(0, 0, 30, 20);
exitBtn.addActionListener(new exitBtnListener());
thisFrame.getContentPane().add(exitBtn);
thisFrame.addWindowListener(new windowListener());
//關鍵!框架將不會真正關閉
thisFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
}

//確認關閉
private void sureExit(){
int result=JOptionPane.showConfirmDialog(this, "你確定要退出本窗口不?", "Information", JOptionPane.YES_NO_OPTION);
if(result==JOptionPane.NO_OPTION){
return;
}
//真正執行關閉的語句
thisFrame.dispose();
}

//實現介面
class windowListener implements WindowListener{

@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowClosing(WindowEvent e) {
//在關閉時調用「確認關閉」方法
sureExit();
}

@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}

}

//實現介面
class exitBtnListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
//調用「確認關閉」方法
sureExit();
}
}
}

B. java中怎麼關閉對話框

dl.dispose().
你不就是想彈出個確認對話框嗎?直接JOptionPane.showConfirmDialog((null, "確認刪除嗎?", "確認刪除框", JOptionPane.YES_NO_OPTION);就出來個帶確內認的對話框。不容用自己定義了。

C. java Dialog 的關閉簡單問題

因為變數dialog1是局部變數,每調用一次dialog方法都會新建一個JDialog並進行操作,需要將dialog1聲明為全局:
JDialog dialog1=new JDialog(frame,"確認信息");
{
JToggleButton dbtn1=new JToggleButton("BACK");
JToggleButton dbtn2=new JToggleButton("OK");
JLabel dlabel=new JLabel("你確定重新抽取?????",JLabel.CENTER);

dialog1.setSize(300,400);
dialog1.setLayout(null);
dlabel.setBounds(50, 140, 150, 80);
dbtn1.setBounds(180, 300, 100, 40);
dbtn2.setBounds(25, 300, 100, 40);
dialog1.add(dlabel);
dialog1.add(dbtn1);
dialog1.add(dbtn2);
dialog1.setModal(true);

dbtn1.addActionListener(new DActionListener1());
dbtn2.addActionListener(new DActionListener2());
}

class MyActionListener1 implements ActionListener{
public void actionPerformed(ActionEvent e){
dialog(0);
} }

public void dialog(int a){
if(a==1){
dialog1.setVisible(false);
dialog1.dispose();
}
if(a==0){
dialog1.setVisible(true);
}
}
class DActionListener1 implements ActionListener{
public void actionPerformed(ActionEvent e){
dialog(1);
}
}

建議樓主將dbtn2,即讓對話框顯示按鈕放到另一個Frame中,因為如果放到dialog1中,因為dialog1本身是顯示的,dialog1.setVisible(true);沒有意義。

D. java關閉當前對話框的語句是什麼啊 不是System開頭的啊 謝謝指教

this.dispose();

釋放由此 Window、其子組件及其擁有的所有子組件所使用的所有本機屏幕資源。即這些 Component 的資源將被破壞,它們使用的所有內存都將返回到操作系統,並將它們標記為不可顯示。
通過隨後對 pack 或 show 的調用重新構造本機資源,可以再次顯示 Window 及其子組件。重新創建的 Window 及其子組件的狀態在移除 Window 的點上與這些對象的狀態將是一樣的(不考慮這些操作之間的其他更改)。

閱讀全文

與java如何關閉對話框相關的資料

熱點內容
wpspdf文檔如何在文件夾預覽 瀏覽:15
大數據與工業的結合包括哪些領域 瀏覽:993
蘋果7鬧鍾鈴聲設置歌曲 瀏覽:168
法庭文件有哪些 瀏覽:211
zip文件怎麼刪除嗎 瀏覽:247
win1016179安裝失敗 瀏覽:457
pp助手的文件系統 瀏覽:218
設計網站橫幅廣告要哪些因素 瀏覽:991
勞務報酬認定在多少號文件 瀏覽:209
本地數據傳輸業務有什麼用途 瀏覽:375
什麼情侶app好用 瀏覽:575
旅遊攻略適合下什麼app 瀏覽:403
nodejsbusboy下載 瀏覽:106
同事不會送文件找不到地方 瀏覽:473
銀聯萬事達applepay 瀏覽:834
試玩怎麼推廣app 瀏覽:588
課設報告中數據結構寫什麼東西 瀏覽:44
男生怎麼搜到網站的 瀏覽:441
當前無網路怎麼解決 瀏覽:299
x200thinkpad升級 瀏覽:568

友情鏈接