1

最初に私の悪い英語を申し訳ありません。

こんにちは、YES_NO_OPTION で confirmDialog を使用しようとしています。私が欲しいのは、フレームを閉じると、閉じるかどうかを尋ねる確認ダイアログが表示されることです。

はいを押すとすべてがほとんど閉じられ、いいえを押すと確認ダイアログが消えます

しかし、問題は、フレームを閉じるボタンを押さなくても、これが私のコードです:

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メソッドです:

 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();
            }
    }
4

3 に答える 3

3

JFrameのデフォルトの閉じる操作を変更してdispose、ウィンドウを破棄するために行われる唯一の呼び出しになるようにする必要があります。

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
于 2013-03-23T23:44:21.310 に答える
3

アプリケーションを閉じるを参照してください。デフォルトのクローズ操作を管理できます。

于 2013-03-23T23:47:31.457 に答える
0

JFrame のデフォルトの終了を に変更しDO_NOTHING_ON_CLOSEます。

于 2013-03-24T07:33:08.913 に答える