| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Апплеты > Applet vs JApplet |
| Автор: monax 10.6.2007, 02:45 |
| Стал перед выбором, что использовать: Applet или JApplet. Кто-нибудь решал для себя проблему выбора? Что лучше и по каким причинам (ответы - JApplet лучше, потому что swing - не подойдут)? |
| Автор: powerOn 12.6.2007, 20:06 |
| Если посмотреть исходники класса JApplet, то можно увидеть, что данный класс является наследником класса Applet. Это значит что он может все что может Applet, плюс еще "немножко". "Немножко" это поддержка Accessibility, работа с подкомпонентами через JRootPane и т.п. (это как раз и относится к swing). Вот собственно и вся разница. |
| Автор: newObject 9.8.2007, 10:17 |
| Во первых на мой взгляд проблема должна звучать так "Что лучше AWT или Swing?". Потому что это основное отличие между Applet и JApplet. Во вторых Applet это тяжеловесный компонент и он имеет пару привязанную к конкретной платформе и вся прорисовка и реакции на события ложатся на представителя, кроме того все компоненты добавелнные в Applet должны (рекомендованны) быть AWT т.е. тоже тяжеловесные компоненты. А JApplet легковесный компонент в основе которого лежит один тяжеловесный компонент (Applet) и все компоненты добавленные в JApplet должны (рекомендованны) быть Swing т.е. легковесные следовательно все реакции и прорисовка делегируются Java а не представителю платформы. В третих очень рекомендую прочитать Swing Портянкина, птому что мое обяснение на пальцах может быть не совсем корректно или туманно. |
| Автор: math64 9.8.2007, 15:06 |
| JApplet - тяжеловесный компонент, как и JFrame и JWindow. Сейчас большинство браузеров поставляется без встроенной JVM, и JRE нужно ставить отдельно, поэтому Swing сейчас не проблема. А в awt (некоторые дистрибутивы linux) можно столкнуться с тем что вместо русских букв будут выводиться '?'. Swing можно использовать и с Applet - нужно положить в него JRootPane, а потом в него складывать Swing-компоненты. |
| Автор: tanderbold 20.8.2007, 15:43 | ||
а почему бы и нет? |
| Автор: w1nd 20.8.2007, 21:59 |
Всё верно, только наоборот. Swing-компоненты - легковесные. |
| Автор: math64 23.8.2007, 16:57 |
| JApplet extends Applet, JFrame extends Frame, JWindow extend Window, JDialog extends Dialog - поэтому они тяжеловесные. Остальные Swing-компоненты легковесные (extends JComponent, который extends Container). |
| Автор: monax 27.8.2007, 15:10 |
| Получается, что использовать JApplet имеет смысл только если нужен апплет с кнопками, панелями и т.п. А в том случае, если я буду работать с графикой (с тем же Java2D), то никакой выгоды я от Swing'a не получаю. |
| Автор: COVD 27.8.2007, 15:20 |
| От использования Applet вы скорее всего никакой выгоды тоже не получите. Все равно придется использовать java-плагин, а не встроенную java. |
| Автор: monax 28.8.2007, 16:40 |
Это точно. Насколько я знаю, сейчас jvm не входит в состав windows, а она является самой распространённой ОС. |