Всплывающее окно в Java Swing - PullRequest
7 голосов
/ 09 марта 2010

Может кто-нибудь подсказать мне, как реализовать всплывающее окно в Java Swing. Я хочу, чтобы всплывающее окно было модальным (пользователь не может вернуться в главное окно, когда всплывающее окно открыто).

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

Ценю вашу помощь.

Ответы [ 3 ]

13 голосов
/ 09 марта 2010

Используйте JDialog. Нет ограничений на то, что вы можете добавить, вы можете добавить все, что вы хотите, в JDialog (точно так же, как при использовании JFrame)

8 голосов
/ 09 марта 2010
  1. Расположите ваши виджеты в JPanel.

  2. Используйте JOptionPane.showConfirmDialog с вашей панелью в качестве сообщения (например, с optionType JOptionPane.OK_CANCEL_OPTION).

  3. Считывание ввода пользователя из состояния вашей панели, когда это необходимо (например, вызов возвращает JOptionPane.OK_OPTION, а не JOptionPane.CANCEL_OPTION).

3 голосов
/ 09 марта 2010

Я надеюсь, что нашел правильную информацию для вас

JDialog(Dialog owner, boolean modal)

для получения дополнительной информации проверьте эти ссылки: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/modality/

http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html

...