JFrame窗口关闭时,进行再次确认的实现

时间:2021-10-03 23:54:36
很基础的功能,不过我很少做GUI,所以特意自己留个记录。呵呵!也许大家早就知道怎么做了。

效果如下:

JFrame窗口关闭时,进行再次确认的实现

源代码:
  1. import java.awt.event.WindowAdapter;
  2. import java.awt.event.WindowEvent;
  3. import javax.swing.JDialog;
  4. import javax.swing.JFrame;
  5. import javax.swing.JOptionPane;
  6. /**
  7.  * 关闭窗口时,询问是否关闭。
  8.  * 
  9.  * @author 赵学庆,Java世纪网(java2000.net)
  10.  * 
  11.  */
  12. public class T extends JFrame {
  13.   T() {
  14.     this.setBounds(100100300200);
  15.     addWindowListener(new WindowAdapter() {
  16.       public void windowClosing(WindowEvent e) {
  17.         exit();
  18.       }
  19.     });
  20.   }
  21.   public static void main(String[] args) {
  22.     T t = new T();
  23.     t.setVisible(true);
  24.   }
  25.   public void exit() {
  26.     Object[] options = { "确定""取消" };
  27.     JOptionPane pane2 = new JOptionPane("真想退出吗?", JOptionPane.QUESTION_MESSAGE,
  28.         JOptionPane.YES_NO_OPTION, null, options, options[1]);
  29.     JDialog dialog = pane2.createDialog(this"警告");
  30.     dialog.setVisible(true);
  31.     Object selectedValue = pane2.getValue();
  32.     if (selectedValue == null || selectedValue == options[1]) {
  33.       setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // 这个是关键
  34.     } else if (selectedValue == options[0]) {
  35.       setDefaultCloseOperation(EXIT_ON_CLOSE);
  36.     }
  37.   }
  38. }