![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
monax |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 9.6.2005 Репутация: нет Всего: 4 |
Стал перед выбором, что использовать: Applet или JApplet. Кто-нибудь решал для себя проблему выбора? Что лучше и по каким причинам (ответы - JApplet лучше, потому что swing - не подойдут)?
--------------------
Лаборатория программиста |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
Если посмотреть исходники класса JApplet, то можно увидеть, что данный класс является наследником класса Applet. Это значит что он может все что может Applet, плюс еще "немножко". "Немножко" это поддержка Accessibility, работа с подкомпонентами через JRootPane и т.п. (это как раз и относится к swing). Вот собственно и вся разница.
|
|||
|
||||
newObject |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: 1 Всего: 2 |
Во первых на мой взгляд проблема должна звучать так "Что лучше AWT или Swing?".
Потому что это основное отличие между Applet и JApplet. Во вторых Applet это тяжеловесный компонент и он имеет пару привязанную к конкретной платформе и вся прорисовка и реакции на события ложатся на представителя, кроме того все компоненты добавелнные в Applet должны (рекомендованны) быть AWT т.е. тоже тяжеловесные компоненты. А JApplet легковесный компонент в основе которого лежит один тяжеловесный компонент (Applet) и все компоненты добавленные в JApplet должны (рекомендованны) быть Swing т.е. легковесные следовательно все реакции и прорисовка делегируются Java а не представителю платформы. В третих очень рекомендую прочитать Swing Портянкина, птому что мое обяснение на пальцах может быть не совсем корректно или туманно. |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: нет Всего: 72 |
JApplet - тяжеловесный компонент, как и JFrame и JWindow. Сейчас большинство браузеров поставляется без встроенной JVM, и JRE нужно ставить отдельно, поэтому Swing сейчас не проблема.
А в awt (некоторые дистрибутивы linux) можно столкнуться с тем что вместо русских букв будут выводиться '?'. Swing можно использовать и с Applet - нужно положить в него JRootPane, а потом в него складывать Swing-компоненты. |
|||
|
||||
tanderbold |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 23.5.2007 Репутация: нет Всего: нет |
а почему бы и нет? |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: нет Всего: 54 |
Всё верно, только наоборот. Swing-компоненты - легковесные. -------------------- ![]() ![]() |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: нет Всего: 72 |
JApplet extends Applet, JFrame extends Frame, JWindow extend Window, JDialog extends Dialog - поэтому они тяжеловесные. Остальные Swing-компоненты легковесные (extends JComponent, который extends Container).
|
|||
|
||||
monax |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 9.6.2005 Репутация: нет Всего: 4 |
Получается, что использовать JApplet имеет смысл только если нужен апплет с кнопками, панелями и т.п. А в том случае, если я буду работать с графикой (с тем же Java2D), то никакой выгоды я от Swing'a не получаю.
--------------------
Лаборатория программиста |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
От использования Applet вы скорее всего никакой выгоды тоже не получите. Все равно придется использовать java-плагин, а не встроенную java.
|
|||
|
||||
monax |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 9.6.2005 Репутация: нет Всего: 4 |
Это точно. Насколько я знаю, сейчас jvm не входит в состав windows, а она является самой распространённой ОС. --------------------
Лаборатория программиста |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |