Как заставить JFrame приостановить поток, подобный тому, как работает JOptionPane

1

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

  • 0
    Возможный дубликат Как ждать закрытия JFrame, прежде чем продолжить?
  • 1
    «... игра продолжает работать в фоновом режиме. Я заметил, что с JOptionPanes поток приостанавливается, пока не исчезнет JOptionPane». Это совершенно неправильно. Пользователь заблокирован от доступа к основному интерфейсу, но любая анимация (если все сделано правильно) продолжает анимироваться.
Теги:
multithreading
swing
jframe
joptionpane

1 ответ

2
Лучший ответ

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

  • 0
    Могу ли я сделать то же самое, что и JFrames? Такие как макеты карт, кнопки и т. Д.
  • 0
    @RyanHosford: он может делать все эти вещи. Поймите, что, как и JFrame, это окно верхнего уровня. Он не может создать другую иконку на панели иконок. И закрытие его не может автоматически закрыть приложение (если вы не напишите код специально для этого).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню