6

windowClosing特定のJFrameを閉じる前に確認するために使用しています。

閉じる前に確認ダイアログが表示されますが、[いいえ]ボタンをクリックしても閉じるという問題があります。何か助けてください?

addWindowListener(new WindowAdapter() {

  @Override
  public void windowClosing(WindowEvent we)
  { 
    String ObjButtons[] = {"Yes","No"};
    int PromptResult = JOptionPane.showOptionDialog(null, 
        "Are you sure you want to exit?", "Online Examination System", 
        JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, 
        ObjButtons,ObjButtons[1]);
    if(PromptResult==0)
    {
      System.exit(0);          
    }
  }
});
4

4 に答える 4

15

JFrameのデフォルトの閉じる操作は何に設定されていますか?次のように設定されていることを確認する必要があります。jFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

于 2013-03-16T12:06:45.367 に答える
13

これを試して

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent we)
    { 
        String ObjButtons[] = {"Yes","No"};
        int PromptResult = JOptionPane.showOptionDialog(null,"Are you sure you want to exit?","Online Examination System",JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,ObjButtons,ObjButtons[1]);
        if(PromptResult==JOptionPane.YES_OPTION)
        {
            System.exit(0);
        }
    }
});
于 2013-03-16T12:11:30.883 に答える
2

JFrameのデフォルトの閉じるオプションは、に設定されているDISPOSE_ON_CLOSE場合に設定できEXIT_ON_CLOSEます。その場合、クエリは次のように解決されます。-

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
于 2013-03-16T12:06:38.657 に答える
2

これをフレームの初期化に置きます

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
于 2013-03-16T12:07:03.737 に答える