Swing построен на основе AWT, вы можете смешивать Swing и AWT, и он будет работать технически, но с некоторыми ограничениями:
тяжелые и легкие компоненты: компоненты в AWT тяжелые- они соответствуют окну родной ОС.Это означает, что все компоненты AWT отображаются над родственными компонентами Swing.(Например, поместите список AWT и свинг-JList в один и тот же контейнер, и список всегда будет отображаться над JList.)
Внешний вид: компоненты AWT выглядят и чувствуют себя как родные,так как они являются родными компонентами.Компоненты Swing имеют подключаемый внешний вид, который определяет их внешний вид и поведение.Если вы выбираете L & F в соответствии с собственной платформой, эти компоненты являются всего лишь «имитацией» собственного внешнего вида и могут вести себя не так, как их аналоги AWT.(Например, JButton против кнопки awt.)
По этим причинам может быть целесообразно использовать только одну библиотеку пользовательского интерфейса, предположительно Swing.
РЕДАКТИРОВАТЬ: JDK 6 (обновление12) предлагает бесшовную интеграцию тяжелых и легких компонентов, поэтому смешивание будет работать без проблем.Таким образом, первая точка зрения больше не соответствует действительности, но наличие противоречивого внешнего вида между двумя наборами инструментов пользовательского интерфейса все еще остается в силе.