В чем разница между JApplet и Applet, и что я должен использовать?
В моей книге (для моего курса по информатике) у них есть фрагменты исходного кода. Мы говорим о графическом программировании и апплетах. Я заметил, что в некоторых случаях он расширяет JApplet, в то время как в других он использует Applet.
Мне было интересно, что это за различия, и как они повлияют на код?
В последнее время мне было поручено создать графическую игру палача, в которой пользователь пытается угадать компьютерное слово. Должен ли я использовать JApplet или Applet (мы в основном использовали JApplet, поэтому я склоняюсь к этому, но я мог бы пойти в любом случае).
Кроме того, мне было интересно, какой базовый процесс должен быть в апплете, некоторые люди имеют весь свой код в одном файле, который расширяет JApplet или просто JFrame. Должен ли я это сделать?
Ответы
Ответ 1
В документации для JApplet
:
Расширенная версия java.applet.Applet
, которая добавляет поддержку архитектуры компонентов JFC/Swing
Если вы хотите использовать компоненты Swing внутри вашего апплета, JApplet
предоставит вам эту функциональность. Swing заменил оригинальный AWT, поэтому было бы неплохо использовать JApplet
вместо Applet
, просто для того, чтобы не отставать от текущих библиотек.
Ответ 2
Апплет - это AWT, тогда как JApplet - Swing, JApplet - расширенная версия апплета, поэтому она более поздняя.
Ответ 3
Используйте JApplet
. Swing лучше, и мало кто помнит, как использовать компоненты AWT.
Кроме того, мне было интересно, какой базовый процесс должен быть в апплете, некоторые люди имеют весь свой код в одном файле, который расширяет JApplet или просто JFrame. Должен ли я это сделать?
Наверное, нет. Многие примеры написаны таким образом, чтобы упростить их компиляцию и запуск. Код следует разделить на отдельные классы в соответствии с лучшим дизайном, и только один тривиальный код будет выражен в одном классе.
Ответ 4
Вот что говорит спецификация API
апплета:
http://docs.oracle.com/javase/6/docs/api/java/applet/Applet.html
JApplet (расширяет апплет):
http://docs.oracle.com/javase/6/docs/api/javax/swing/JApplet.html
Ответ 5
Апплет → AWT
JApplet → Swing + поддержка вспомогательных технологий +
Я предлагаю использовать JApplet