2014-11-25 4 views
1

У меня есть простое приложение Swing, которое работает в полноэкранном режиме. Мое приложение создает экземпляр JFrame, который, в свою очередь, создает JPanel, где весь чертеж выполнен в методе paintComponent. У меня также есть MouseListener, наблюдающий за определенными событиями.Почему мое приложение Swing минимизируется при создании диалога?

Одно из этих событий (нажатие на определенную область экрана) вызывает приглашение. Вот мой код, чтобы показать подсказку (имейте в виду, что это происходит из моего класса, который распространяется JPanel).

int choice = JOptionPane.showConfirmDialog(this, "Are you sure you want to quit?", "Quit?", JOptionPane.YES_NO_OPTION); 
if (choice == JOptionPane.OK_OPTION) { 
    dialogOpen = false; 
    System.exit(0); 
} else { 
    dialogOpen = false; 
    repaint(); 
} 

Единственная проблема в том, что ... как только этот код работает, все окно исчезает. Более конкретно, похоже, что он сводит к минимуму сам себя, потому что я могу щелкнуть значок Java на панели задач, и он снова появляется. Но как я могу остановить его от минимизации себя? Все, что я хочу сделать, это показать простое приглашение!

+0

Не отображается ли всплывающее окно? Вы получаете какие-либо ошибки? – Max

+0

Уменьшает ли приложение При запуске приложения? Или он минимизирует, когда NO выбрано из 'JOptionPane'? –

+2

Чтобы лучше помочь, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) (минимальный полный проверяемый пример) или [SSCCE] (http://www.sscce.org/) (Short, Self Содержащийся, правильный пример). –

ответ

1

Я понял. Спасибо всем за их полезные комментарии (что это с людьми и комментируя здесь, между прочим, почему люди пишут все, что могло бы ответить на них в комментариях?)

Вместо того, чтобы звонить .showConfirmDialog(this, ...) (где this мой подкласс JPanel), мне нужно было позвонить .showConfirmDialog(parent, ...) (где parent - мой подкласс JFrame). Затем я добавил WindowStateListener на JFrame, чтобы обнаружить изменения состояния и сбросить состояние окна.

Смежные вопросы