2016-12-27 6 views
0

ユーザーが通常の方法でウィンドウを閉じようとすると(Xをクリック)、ポップアップが表示されます。このウィンドウを閉じたいですか? "その後、彼はYesまたはNoスイング - ポップアップの選択に応じてフレーム(ウィンドウ)を閉じるかどうかを指定します

選択した天気を、私はクローズされ、ウィンドウが閉じないようにしたい「いいえ」を選択した場合

このリスナーのための私の現在のコードは次のとおりです。

frmContactarEspecialista.addWindowListener(new FrameWindowListener());  

private class FrameWindowListener extends WindowAdapter { 
     @Override 
     public void windowClosing(WindowEvent arg0) { 
      int salir = JOptionPane.showOptionDialog(frmContactarEspecialista, "Si cierra esta ventana se descartará el email, ¿continuar?", "Salir", 
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null); 

      if (salir != 0){ 

      } 
     } 
    } 

私のポストをマークした後、重複したとして、私はalredyであることを試してみました:

private class FrameWindowListener extends WindowAdapter { 
     @Override 
     public void windowClosing(WindowEvent arg0) { 
      int salir = JOptionPane.showConfirmDialog(frmContactarEspecialista, "Si cierra esta ventana se descartará el email, ¿continuar?", "Salir", 
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); 

      if (salir == JOptionPane.NO_OPTION) { 
       System.out.println("do nothing"); 
      } 
     } 
    } 

そして、それは"do nothing"を出力しますが、それでも、ウィンドウを閉じます。

ifに変更する必要がありますので、ウィンドウを閉じることはできません。

ありがとうございました

+1

[OKを押す前に[Javaでプログラムを終了する]の確認の可能な複製](http://stackoverflow.com/questions/21330682/confirmation-before-press-yes-to-exit-program-in-java) –

+0

こんにちは@IginoBoffa、私はそれを試みました、そしてそれは閉鎖に続き、dispose()メソッドに入れたいものをidkに追加します –

+1

まず、フレームをjFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)のように設定する必要があります。 –

答えて

0

回答が見つかりました。 まず、フレームに何かを追加する必要があります。

nameofyourframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 

Xを押すと、ウィンドウはまったく閉じません。 あなたのリスナーに行きましょう。

if(salir != 0){ 
    nameofyourframe.dispose(); 
} 

答えが「はい」の場合、何も起こらない場合は、プログラムとウィンドウが閉じられます。

+0

こんにちは、ありがとう、私は全体のプログラムを閉じたくはありません、私はちょうど窓です –

+0

よろしく!それを解決しよう! – Joza100

+0

私は答えを編集しますので、数分で確認してください – Joza100

関連する問題