2014-04-22 5 views
1

Я делаю игру и всякий раз, когда игрок приходит в контакт с врагом, я хочу, чтобы появилось сообщение JFrame, спрашивающее, хотите ли вы сразиться с врагом, но когда JFrame всплывает, игра продолжает работать в фоновом режиме. Я заметил, что с JOptionPanes нить приостанавливается до тех пор, пока не исчезнет JOptionPane. Как мне получить аналогичный эффект с JFrame?Как сделать JFrame паузу, похожей на то, как работает JOptionPane

+0

Возможный дубликат [Как дождаться закрытия JFrame перед продолжением?] (Http://stackoverflow.com/questions/12335733/how-to-wait-for-a-jframe-to-close-before- продолжение) –

+1

* «.. игра продолжает работать в фоновом режиме. Я заметил, что с помощью JOptionPanes поток приостанавливается до тех пор, пока JOptionPane не исчезнет». * Это совершенно неправильно. ** Пользователь ** заблокирован от доступа к основному пользовательскому интерфейсу, но любая анимация (если выполняется правильно) продолжает анимировать. –

ответ

2

Решение: не использовать JFrame - Вы просите окно, которое действует как модальный диалог - так Используйте модальный диалог, JDialog быть точным. Обратите внимание, что это именно то, что делает JOptionPane.

+0

Могу ли я сделать то же самое, что и JFrames? Такие как макеты карт, кнопки и т. Д. –

+0

@RyanHosford: он может делать все это. Понимайте это как JFrame, это окно верхнего уровня. Он не может создать другой значок на панели значков. И закрытие не может автоматически закрыть приложение (если только вы не написали код специально для этого). –

+0

ОК, большое спасибо! –

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