2013-03-23 4 views
1

первый извините за мой плохой английский язык.Как предотвратить закрытие окна?

Привет, я пытаюсь использовать confirmDialog с YES_NO_OPTION. Я хочу, чтобы при закрытии рамки отобразился confimDialog, спрашивающий меня, хотите ли вы закрыть.

если я нажимаю да Everything больше всего будет закрыт, если я нажимаю не является confirmDialog не disapear

, но проблема в том, даже если я нажимаю нет кнопки кадра закрыть это не мой код:

final JFrame frame = new JFrame("2D Game"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setSize(1600,600); 
frame.setResizable(false); 

    private void continuerButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_continuerButtonActionPerformed 
     int level=getlevel(); 
     System.out.println(niveau); 
     if(niveau == 1) 
     { 
      this.dispose(); 
      frame.add(new Board()); 
      frame.setVisible(true); 
      frame.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent e) 
      { 
       doExitOption(); 
      } 
      }); 
     } 
    } 

и это doExitOption Methode:

public void doExitOption() 
    { 
     int option=JOptionPane.showConfirmDialog(null, "do you want to quit the game", "Warnning",JOptionPane.YES_NO_OPTION); 
      if(option == JOptionPane.YES_OPTION) 
      { 
       frame.dispose(); 
      } 
    } 

ответ

3

Вы должны изменить стандартную операцию закрытия JFrame «s так, что ваш призыв к dispose единственный вызов тому, чтобы расположить окно:

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
+0

Спасибо, что помогли мне. Человек !! –

0

Изменить По умолчанию Закрытие JFrame до DO_NOTHING_ON_CLOSE.