0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
1 | |
Как сделать апплет независимым от среды исполнения24.04.2011, 12:43. Показов 4475. Ответов 33
Метки нет (Все метки)
Не, ну здесь может кто-нибудь дать внятный ответ, как сделать апплет независимым от той среды, в которой исполняется? Т.е. я написал апплет, но могу просматривать его только на своем же компе с J2SDK. Другие машины его не видят. Вопрос вроде бы ж простой, а ответить толком никто не может (или не хочет?..). Мучаюсь, мучаюсь- а все без толку. Зла уже не хватает. Я не специалист в java, работаю с PHP и mySQL, ну вот возникла у меня необходимость написать апплет. Для этого скачал J2SDK с NetBeansIDE, написал простой апплет, все вроде бы- конец мучениям, так нет же- выскочила проблема, которую ждал меньше всего- свой апплет только я и вижу.
0
|
24.04.2011, 12:43 | |
Ответы с готовыми решениями:
33
Как сделать дизайн элементов jQuery UI независимым? Как сделать клик мыши независимым от точки экрана? Как сделать апплет из проекта? Сделать сайт регионо-независимым |
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
25.04.2011, 16:04 [ТС] | 21 |
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
|
|
25.04.2011, 17:46 | 22 |
Не надо путать божий дар с яичницой.
JRE - это среда исполняющая java сlass'ы. JDK - это набор инструментов для написания java кода и компиляции его в *.class'ы. Он включает в себя JRE, что бы полученный байткод мог быть выполнен. В JRE содержатся базовые классы входящие в данную версию java. Если ты используешь классы не входящие в JRE, они должны быть приложены к твоему апплету ввиде jar-архива. Клиент автоматически скачает эти jar себе (смотри описание тега applet). Формат байткода для java1.1. отличается от байткода java2 (т.е. java1.2, 1.3, 1.4, 1.5). Что бы скопилиорвать байткод в формате 1.1 нужно запускать компилятор с ключём -target1.1 Если твой апплет простая ерунда с прыгающими картинками - то пользуй флеш. Пусть люди скачивают FlashPlayer, его точно нет в комплекте с IE. J D K 1.5 (1.4) занимет 50 МБ.(клиенту не нужен, включает JRE) J R E 1.5 (1.4) занимает 14 МБ. (нужен клиенту) JRE 1.3. - 7мб. Где здесь 100мб которые должен скачать клиент для просмотра апплета? Перл вас совсем испортил. Размер на диске после установки естесвенно будет больше. Функциональность java1.1 на порядки ниже функциональности java1.4 и совсем не идёт в сравнение с возможностями 1.5. Что ещё не ясно?
0
|
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
25.04.2011, 18:23 [ТС] | 23 |
Установленная J2RE1.4 весит 34МБ...
Значит MicrosoftJVM может видеть только то, что сделано в среде java1.1?
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
|
|
25.04.2011, 19:27 | 24 |
И что эти 34 мб ? Создут проблемы владельцам 100-го пентиума с винтом на 500мб ?
Что бы класс мог быть выполнен MS JVM, 1) он должен быть скомпилирован доисторической java'ой (версии 1.1), либо нормальной, но с ключём -target1.1 2) не должны использоваться классы появившиеся после версии 1.1. Например, класс StringBuilder, regex'ы или swing и куча-куча другого. Если такое использование имеет место в консоли будет выкинуто сообщение об ошибке. Посмотри описание тега аpplet или оbject на java.sun.com (официальный сайт java). Там написано как сделать так, что бы пользователю предлагали скачать jre нужной версии. 14мб для sun jre или 10мб MS JVM - не велика разница во времени скачивания, а вот преимуществ у sun больше. Начиная от поддержки большей функциональности и кончая скоростью работы.
0
|
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
26.04.2011, 10:04 [ТС] | 25 |
Ну вот:простой апплет у меня запустился, а апплет с 3D графикой запускаться не хочет. Журнал java выдает следующее:
java.lang.NoClassDefFoundError: javax/media/j3d/Node at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) На домашнем компе в такой-же среде (J2RE)работает, а здесь нет.
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
|
|
26.04.2011, 19:50 | 26 |
Попробуй читать то, что тебе пишут в ответ.
Класс javax/media/j3d/Node не является частью стандартных библиотек java. Следовательно JRE не откуда взять этот класс и ты получаешь ошибку. Что бы этого не было, библиотека которую ты используешь должка быть указана в теге апплет, что бы клиентская jre могла его скачать и использовать классы из него. Если ты хочешь, что бы всё работало под MS JVM, то удостоверься, что не только твой код, но и сторонние библиотеки, которые ты используешь, соответствуют стандрату java1.1.
0
|
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
27.04.2011, 12:58 [ТС] | 27 |
Благодаря форуму я начинаю понимать механизм работы JRE. Все правильно- в JRE должны присутствовать необходимые библиотеки. Но вот установил я для 3Д-апплетов пакет java3d-1_3_1-windows-i586-opengl-rt.exe в директорию по умолчанию, а они у меня все-равно не идут. 'Не найден класс javax/media/j3D/Node'. Как мне указать в теге апплет ссылку на библиотеки javax/media/j3D? Откуда их должен загружать клиентский броузер? С javasun? Или они могут находиться в jar-файле апплета? Но они много весят...
Если можно, то не нужно мордой в грязь.
0
|
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
27.04.2011, 18:17 [ТС] | 28 |
Извиняюсь, запустился мой апплет после установки на компе java3D-библиотек! Только вот такой непонятный пока вопрос остается: для запуска моего апплета на клиентском броузере нужно предлагать ему загрузить JRE с библиотеками java3D c сайта javasun или есть способы загрузить ему нужные классы этих библиотек в jar-файле моего апплета?
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
|
|
27.04.2011, 21:06 | 29 |
http://java.sun.com/j2se/1.4.2/docs/index.html - общая информация о java.
там же находим описание тега applet: http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html читаем: CODEBASE = codebaseURL This OPTIONAL attribute specifies the base URL of the applet--the directory that contains the applet's code. If this attribute is not specified, then the document's URL is used. ARCHIVE = archiveList This OPTIONAL attribute describes one or more archives containing classes and other resources that will be 'preloaded'. The classes are loaded using an instance of an AppletClassLoader with the given CODEBASE. The archives in archiveList are separated by ','. CODE = appletFile This REQUIRED attribute gives the name of the file that contains the applet's compiled Applet subclass. This file is relative to the base URL of the applet. It cannot be absolute. One of CODE or OBJECT must be present. The value appletFile can be of the form classname.class or of the form packagename.classname.class. коротко: кодебейз - место расположение applet'a и архивов, которые ему нужны. относительно него указывается code (например, my.package.MyApplet.class) относительно него же указывается список jar'ов через зарятую. при запуске applet'a сначала клиент скачивает то, что указано в archivе. После этого апплет получает возможность их использовать. (Скачать и положить jars в папку jre - это не правильный путь.)
0
|
0 / 0 / 0
Регистрация: 31.01.2011
Сообщений: 128
|
|
28.04.2011, 14:19 [ТС] | 30 |
Вот код HTML- файла из папки j3D/demo,при клике на этом файле клиент загружает себе J2RE с библиотеками java3D, после чего получает возможность просматривать 3Д-апплет:
<HTML> <HEAD> <TITLE>Hello, Universe!</TITLE> </HEAD> <BODY BGCOLOR='#000000'> <!--'CONVERTED_APPLET'--> <!-- CONVERTER VERSION 1.3 --> <OBJECT classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase='http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0'> <PARAM NAME = CODE VALUE = 'HelloUniverse.class' > <PARAM NAME='type' VALUE='application/x-java-applet;version=1.2.2'> <PARAM NAME='scriptable' VALUE='false'> <COMMENT> <EMBED type='application/x-java-applet;version=1.2.2' CODE = 'HelloUniverse.class' WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage='http://java.sun.com/products/plugin/1.3/plugin-install.html'><NOEMBED></COMMENT> <blockquote> <hr> If you were using a Java-capable browser, you would see Hello Universe! instead of this paragraph. <hr> </blockquote> </NOEMBED></EMBED> </OBJECT> <!-- <APPLET CODE = 'HelloUniverse.class' WIDTH = 256 HEIGHT = 256 ALIGN = middle> <blockquote> <hr> If you were using a Java-capable browser, you would see Hello Universe! instead of this paragraph. <hr> </blockquote> </APPLET> --> <!--'END_CONVERTED_APPLET'--> </BODY> </HTML> Извините, что я такой тупой, но ответьте по возможности однозначно ('Да' или 'Нет') на следующий вопрос: если у клиента уже стоит J2RE, но без j3D-библиотек, то для того, чтобы он смог просмотреть мой апплет, ему нужно скачивать с сайта javasun все библиотеки j3D, или же я могу просто упаковать для него в свой jar- файл только классы j3D, используемые в моем апплете? Другими словами: нужно ли мне создавать HTML-файл такого же содержания (см. выше)или хватит следующего: <HTML> <HEAD> <TITLE>Hello, Universe!</TITLE> </HEAD> <BODY BGCOLOR='#000000'> <applet align=middle archive='HelloUniverse.jar' code='HelloUniverse.class' width=256 height=256> <blockquote> <hr> If you were using a Java-capable browser, you would see Hello Universe! instead of this paragraph. <hr> </blockquote> </applet> </BODY> </HTML>
0
|
LiEnn
|
|
29.09.2011, 13:54 | 31 |
Ответ на последний вопрос:
Для просмотра 3d апплетов у клиента ОБЯЗАТЕЛЬНО должен быть установлен J2RE и J3dRE. |
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
|
18.10.2011, 02:18 | 32 |
Smalig, убери это, будь добр.
0
|
0 / 2 / 3
Регистрация: 27.03.2012
|
|
18.10.2011, 02:28 | 33 |
Сообщение от scroodge
0
|
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
|
|
19.10.2011, 04:46 | 34 |
Если ты про модератора - то нет причин не согласиться
Smalig отмылиться можешь? По осени командировка предполагается из солнечного Харькова в одну из новгородских контор, если ты, таки да - из Новгорода - мыльнись плиз . С нас - украинское пиво, при благоприятном раскладе, и всё такое Оффлайн тем и хорощ что пиво в нём оффлайновое
0
|
19.10.2011, 04:46 | |
19.10.2011, 04:46 | |
Помогаю со студенческими работами здесь
34
Сделать размер ячеек независимым Как сделать разрешение исполнения php файлов в директории? Как сделать "апплет в апплете"? Как подключить к ноутбуку второй монитор, чтоб он был независимым от ноута Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |