Эти классы являются общими точками расширения для конструкций пользовательского интерфейса Java. Прежде всего, осознайте, что они не обязательно имеют непосредственное отношение друг к другу, поэтому попытка найти отношения между ними может привести к обратным результатам.
JApplet - Базовый класс, который позволяет писать код, который будет работать в контексте браузера, например, для интерактивной веб-страницы. Это круто, и все, но это приносит ограничения, которые являются ценой для хорошей игры в реальном мире. Обычно JApplet используется, когда вы хотите иметь свой собственный пользовательский интерфейс на веб-странице. Я всегда удивлялся, почему люди не используют апплеты для сохранения состояния сеанса, поэтому не нужны ни база данных, ни файлы cookie.
JComponent - Базовый класс для объектов, которые намереваются взаимодействовать с Swing.
JFrame - Используется для представления материала, который должно иметь окно. Это включает в себя границы (изменяемый размер y / n?), Заголовок (имя приложения или другое сообщение), элементы управления (разрешено ли минимизировать / максимизировать?) И обработчики событий для различных системных событий, таких как «закрытие окна» (разрешить приложению еще выйти?)
JPanel - Общий класс, используемый для сбора других элементов. Это более важно при работе с визуальным макетом или одним из предоставленных менеджеров макетов, например Например, у вас есть текстовое поле, которое больше, чем зарезервированная область. Поместите текстовое поле в область прокрутки и поместите эту панель в JPanel. Затем, когда вы разместите JPanel, он будет более управляемым с точки зрения макета.