如何在关闭JFrame之前提示用户确认退出

3
我有这个类。
package com.javacodegeeks.snippets.desktop;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;

import javax.swing.JFrame;

public class Main1 {

    public static void main(String args[]) {

        JFrame frame = new JFrame("Window Listener");

        WindowListener listener = new WindowAdapter() {

            public void windowClosing(WindowEvent w) {
                int response = JOptionPane.showConfirmDialog(null, " Are you sure you want isuue the ticket?", "Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
                if (response == JOptionPane.YES_OPTION) {
                    System.exit(0);
                }
            }
        };

        frame.addWindowListener(listener);

        frame.setSize(300, 300);

        frame.setVisible(true);
    }
}

我的问题是,如果用户按下 "No",他将不再看到该框架。我希望用户能够返回到主框架。您应该如何操作呢?
2个回答

4

Do

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

1
如果 (response == JOptionPane.YES_OPTION) 这是不正确的。
    int confirm = JOptionPane.showConfirmDialog(null,"are you sure you want to Exit","Exit",JOptionPane.YES_NO_OPTION, 1);
    if(confirm == 0) // you have to do this {
    close();
    System.exit(0);
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接