JFrame視窗關閉時 進行再次確認的實現
阿新 • • 發佈:2018-11-17
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
很基礎的功能,不過我很少做GUI,所以特意自己留個記錄。呵呵!也許大家早就知道怎麼做了。效果如下:
原始碼:
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import javax.swing.JDialog;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- /**
- * 關閉視窗時,詢問是否關閉。
- *
- * @author 趙學慶,Java世紀網(java2000.net)
- *
- */
- public class T extends JFrame {
- T() {
- this.setBounds(100, 100, 300, 200);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- exit();
- }
- });
- }
- public static void main(String[] args) {
- T t = new T();
- t.setVisible(true);
- }
- public void exit() {
- Object[] options = { "確定", "取消" };
- JOptionPane pane2 = new JOptionPane("真想退出嗎?", JOptionPane.QUESTION_MESSAGE,
- JOptionPane.YES_NO_OPTION, null, options, options[1]);
- JDialog dialog = pane2.createDialog(this, "警告");
- dialog.setVisible(true);
- Object selectedValue = pane2.getValue();
- if (selectedValue == null || selectedValue == options[1]) {
- setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // 這個是關鍵
- } else if (selectedValue == options[0]) {
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- }
- }
- }