2014-05-02 67 views
2

前propmt用户确认退出我有这个类如何关闭的JFrame

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" H/SE将不会再看到帧。 我希望用户能够回到主框架

我该如何做到这一点?

回答

3

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
1

如果(响应== 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); 
    }