im, создающая физический симулятор для удовольствия, и я искал графические пособия, когда я пытался выяснить разницу между всеми этими J. может кто-то уточнить их или, возможно, предоставить ссылку на полезный источник?Разница между JPanel, JFrame, JComponent и JApplet
ответ
Возможно, вам будет полезно найти классы в oracle. Например:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html
Там вы можете увидеть, что JFrame расширяет JComponent и JContainer.
JComponent - это базовый объект, который можно нарисовать, JContainer расширяет его, чтобы вы могли добавлять к нему компоненты. JPanel и JFrame расширяют JComponent, поскольку вы можете добавить к ним что-то. JFrame предоставляет окно, тогда как JPanel - это просто панель, которая входит в окно. Если это имеет смысл.
JFrame и JApplet - это контейнеры верхнего уровня. Если вы хотите создать настольное приложение, вы будете использовать JFrame, и если вы планируете разместить свое приложение в браузере, вы будете использовать JApplet.
JComponent является абстрактным классом для всех компонентов Swing, и вы можете использовать его в качестве базового класса для вашего нового компонента. JPanel - простой, удобный для использования компонент, который вы можете использовать практически для всего.
Поскольку это для забавного проекта, самым простым способом для вас является работа с JPanel, а затем его размещение внутри JFrame или JApplet. Netbeans имеет визуальный дизайнер для Swing с простыми примерами.
Эти классы являются общими точками расширения для проектов пользовательского интерфейса Java. Во-первых, поймите, что они не обязательно связаны друг с другом напрямую, поэтому попытка найти взаимосвязь между ними может быть контрпродуктивной.
JApplet - базовый класс, который позволяет вам писать код, который будет работать в контексте браузера, например, для интерактивной веб-страницы. Это круто, и все, но оно приносит ограничения, которые являются ценой за то, что он играет хорошо в реальном мире. Обычно JApplet используется, когда вы хотите иметь собственный пользовательский интерфейс на веб-странице. Я всегда задавался вопросом, почему люди не используют апплеты для хранения состояния для сеанса, поэтому никакая база данных или файлы cookie не нужны.
JComponent - базовый класс для объектов, которые намерены взаимодействовать с Swing.
JFrame - Используется для представления материала, которое должно иметь окно. Это включает в себя границы (resizeable y/n?), Заголовок (имя приложения или другое сообщение), элементы управления (минимизация/максимизация разрешено?) И обработчики событий для различных системных событий, таких как «закрытие окна» (разрешение приложения еще не завершено?).
JPanel - Общий класс, используемый для сбора других элементов вместе. Это более важно при работе с визуальным макетом или одним из предоставленных менеджеров компоновки, например. gridbaglayout и т. д. Например, у вас есть текстовое поле, которое больше, чем область, которую вы зарезервировали. Поместите текстовое поле в панель прокрутки и поместите эту панель в JPanel. Затем, когда вы поместите JPanel, он будет более управляемым с точки зрения макета.
- 1. Разница между реализацией JFrame и JPanel
- 2. JComponent не отображается в JApplet
- 3. Отображение JComponent внутри JPanel на JFrame
- 4. Связь между JFrame и JPanel
- 5. JPanel в JApplet
- 6. Drag JComponent в JPanel
- 7. Картина JPanel/JComponent
- 8. Java Swing, имеющий JComponent и JPanel
- 9. Добавить JApplet to JPanel
- 10. Рисование стеклянной панели JFrame над JApplet
- 11. JComponent не чертеж внутри JPanel
- 12. JComponent not Drawing to JPanel
- 13. JPanel работает на JApplet
- 14. Разница между холстом и JPanel
- 15. Добавление веб-браузера в JFrame/JPanel/JComponent в Java
- 16. Рисунок в JPanel vs JComponent
- 17. Обертывание JFrame в JApplet?
- 18. JFrame и JPanel проблемы с вызовом между
- 19. добавить пробел между JFrame и JPanel
- 20. Улучшение связи между JFrame и JPanel
- 21. Java JApplet to JFrame
- 22. Получение JFrame из JApplet
- 23. Преобразование JFrame в JApplet
- 24. Вставить JPanel в JApplet (всегда сверху)
- 25. Невозможно добавить JComponent в JPanel
- 26. Получить размер JFrame изнутри JPanel
- 27. repaint() JFrame и JPanel
- 28. «Расширяет JFrame» и JPanel?
- 29. JFrame и ActionListener JPanel
- 30. Java Swing - JPanel vs JComponent
В качестве побочного примечания цепочка наследования смехотворна с некоторыми компонентами Swing. Это, как правило, делает завершение кода в IDE бесполезным, а также помехи javadocs. Им действительно нужно переписать эту вещь – TheLQ
Я хотел бы указать, что JFrame не расширяет JComponent или JContainer, а скорее java.awt.Container и java.awt.Component в этом порядке. –
@LucasMorgan Они, должно быть, сделали JFrame менее зависимым от Swing, чем я думал. Поскольку он использует AWT, мне интересно, можете ли вы использовать JFrame в JApplet. –