2012-09-09 1 views
5

Моя программа состоит из 3 основных «разделов». Основная функция, форма входа и форма приложения. Основная функция должна сделать что-то вроде: Открыть форму входа, дождаться ее закрытия, а затем открыть форму приложения. Я не могу заставить ожидающую часть работать, или, вернее, я не знаю, как я буду это делать.Как дождаться закрытия JFrame перед продолжением?

Мне сказали кто-то использовать JDialog вместо этого и использовать setModal(true), но при таком подходе форма регистрации не появится на панели задач, что ужасно, на мой взгляд.

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

Итак, пожалуйста, что бы вы предложили?

+1

Зачем нужно вводить логин на панели задач, так как основное приложение будет там, и вы не хотите иметь более одного элемента панели задач для отдельной программы. Ваш лучший вариант - использовать модальный JDialog. –

+0

Я распоряжаюсь Логин после его закрытия, так что всегда есть только один за раз. – argoneus

+0

Возможно, для пользователя не может быть «весело», чтобы на них набросилось множество окон. Проверьте CardLayout. –

ответ

5
  • Зачем нужно вводить логин на панели задач, так как основное приложение будет там, и вы не хотите иметь более одного элемента панели задач для отдельной программы. Лучше всего использовать модальный JDialog.
  • Другой вариант - использовать CardLayout для обмена «взглядами».
  • Третьим вариантом является использование JFrame, если вы должны присоединить к нему слушателя, как я полагаю, WindowListener, чтобы ответить на его закрытое событие.
  • Независимо от того, какой маршрут вы отправляете, ваш логин должен быть JPanel, чтобы вы могли разместить его в любом месте, а затем передумаете позже.

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

  • Нет связанных вопросов^_^