Свинг: JPanel против модального / немодального диалога? - PullRequest
2 голосов
/ 03 февраля 2010

Я хочу реализовать некоторые функции в библиотеке и сделать ее доступной в качестве строительного блока GUI для моих приложений.Я думаю, что я хотел бы реализовать его как нечто, расширяющее JPanel, чтобы его можно было встраивать как компонент в другие окна.

Есть ли причина, по которой я должен использовать вместо него JDialog?Насколько просто создать JDialog, который отображает JPanel вместе с минимальными другими соответствующими компонентами?(например, просто рамка / закрытие / и т. д. для немодального диалога; для модального - то же самое + ОК / Отмена)

Ответы [ 2 ]

3 голосов
/ 03 февраля 2010

Вы должны расширять JDialog только , если вам нужен диалог, и если вам нужна просто панель, которую вы можете использовать в других Windows или фреймах, вы должны расширить JPanel.

Да, легко создать JDialog, просто содержащий JPanel с рамкой, closebox и OK / Cancel, как модальные, так и не модальные.

Посмотрите на Как создавать диалоги и Как использовать панели

1 голос
/ 03 февраля 2010

Я бы сделал это JPanel. Таким образом, вы можете повторно использовать его в других компонентах или поместить его в JFrame (позвонив по номеру setContentPane), если вы хотите запустить его как автономный. Единственная причина, по которой вам нужно нужно a JDialog, - это если вы хотите сделать ваш компонент модальным.

...