Добавить диалоговое окно, когда программа закрыта - PullRequest
0 голосов
/ 04 января 2019

Я хочу добавить опцию, когда кто-то закрывает фрейм, чтобы проверить, запущен ли какой-либо поток, и если есть какой-либо, я хочу отобразить диалоговое окно, которое должно спросить пользователя, действительно ли он хочет выйти.Проблема в том, что независимо от того, какой пользователь выбрал, программа все равно закрывается.

Вот что я пробовал:

private void addActionWhenFrameIsClosed( )
{

    addWindowListener( new WindowAdapter( )
    {
        public void windowClosing( WindowEvent e )
        {
            if( isThereAnyThreadRunning( ) )
            {
                int dialogButton = JOptionPane.YES_NO_OPTION;
                int dialogResult = JOptionPane.showConfirmDialog( null, "There are some threads running... "
                                                                        + "\nAre you sure you want to exit?",
                                                                  "Warning", dialogButton );

                if( dialogResult == JOptionPane.YES_OPTION)
                {
                    dispose( );
                }

            }
        }
    } );
}

1 Ответ

0 голосов
/ 04 января 2019

Пожалуйста, попробуйте добавить эту строку кода в качестве первой строки в addActionWhenFrameIsClosed

setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...