Включение апплета Java в документ HTML
Апплет Java, как и программа на JavaScript, должен выполняться из гипертекстового документа HTML. Именно с этим свойством апплетов связано происхождение термина "выполняемое содержимое". Чтобы включать апплеты в файл HTML, испульзуется HTML-тег
<applet>Тег < applet> является контейнерным тегом. Это значит, что в тексте гипертекстового документа за этим тегом обязательно должен быть указан закрывающий тег
</applet>. Ниже привожу синтаксис тега < applet>
<applet code="File.class"<br /> codebase="ClassDirectory"<br /> width=w<br /> height=h<br /> vspase=vs<br /> hspace=hs<br /> alt=text<br /> name=appletName<br /> align=left | right | top | middle | baseline | bottom |</p> <param name=ParamName value=ParamValue> HTMLТекст...<br /> </applet>
где атрибут code задает имя загружаемого файла с расширением .class, codebase - имя каталога, в котором содержится данный файл (файлы) с расширением .class, width - ширина области вывода апплета в пикселях, а height - ее высота. Использовать кавычки (") в именах аргументов необязательно. Тег
<br /> <param>предназначен для задания имен (ParamName) и значений (ParamValue) параметров, которые передаются апплету из файла HTML. Допускается задание нескольких тегов
<br /> <param>. HTMLText - текст, предназначенный для пользователей, которые применяют броузеры, не поддерживающие язык Java. Этот текст выводится на экран в том виде, в каком указан в донном теге. Он должен задаваться в формате HTML, и его длина не ограничивается. Атрибут alt предназначен для вывода теста в окнах броузеров, которые распознают тег < applet>, но не могут выполнить апплет. Атрибут align, по своему действию аналогичен тегу < img align=... scr />. Атрибут align предназначен для задания способа размещения области вывода апплета на странице. Атрибутами vspace и hspace задаются размеры поля пустого пространства над и под областью вывода апплета (значения обоих атрибутов указываются в пикселях).
Например можно задать следующий тег < applet>:
<applet code="MyApplet.class"<br /> codebase="CLASSES"<br /> width=150<br /> height=150<br /> <hr />To viev this applet you will need a Java-aware browser! <p> <img scr="scrndump.gif"/><hr /> </p> <p></applet>
Этот тег осуществляет вызов апплета MyApplet.class. Для пользователя, просматривающего данную страницу с помощью броузера, который не поддерживает Java, на экране будет отображаться текст "To viev this applet you will need a Java-aware browser!" (Для просмотра этого апплета вам понадобится броузер, поддерживающий Java), а также графическое изображение (заданное в теге < img scr.../>). Авторы некоторых приложений предпочитают в таких случаях выводить вместо текста "картинку" - такую, какую увидел бы на экране пользователь, распологающий поддерживающим Java броузером. При запуске область вывода апплета будет занимать квадратный участок экрана размерами 150х150 пикселей. Разработчик апплета должен позаботиться о том, чтобы выводимые апплетом данные не попадали за пределы выделенной для них области. (В апплетах можно задавать размеры области отображения, в которую будет выводится информация. Если с помощью необязательных атрибутов width/heigh не задана область вывода апплета, то данные будут выводиться и отображаться в области экрана, заданной в самом апплете.) Включение апплета в страницу без соответсвующего текста, предназначенного для тех пользователей, у которых броузеры, не поддердивают Java, принято считать невежливым. Атрибутом codebase в этом примере задается, что файл MyApplet.class находится в подкаталоге CLASSES каталога, в котором содержится HTML-файл.
Пример использования тегов < applet>.
Рассмотрим следующий пример:
<applet code="MyApplet.class" codebase="myclasses"><br /> Апплет распологался бы здесь !<br /> </applet>
В этом фрагменте текста HTML атрибутом codebase задается каталог myclasses. Этот каталог является подкаталогом каталога, из которого был загружен данный файл HTML. Например если приведенные выше теги входят в состав HTML-файла C:AppletsDemo_Applet.html, то броузер будет искать файл MyApplet.class в каталоге C:Appletsmyclasses.
Приведённый выше тег < applet> можно использовать для вызова локальных апплетов (например, чтобы проверить апплет сначала на своём компьютере, а потом уже поместить его на Web-сервер). Примечание: Не все апплеты могут выполняться локально.
Конечно же, апплет может размещаться не только в том каталоге, где находится вызывающий его файл HTML, а и в любом другом месте Internet. В таких случаях в атрибуте codebase необходимо указать URL файла апплета с расширением .class, например:
<applet code="RemoteApplet.class"<br /> codebase="http://www.somehost.com/appletdir/classes/"><br /> Пример апплета.<br /> </applet>
В этом примере вызывается апплет RemoteApplet.class, расположенный на хосте Internet www.somehost.com в каталоге /appletdir/classes/. Для того чтобы загрузить апплет в вашу систему, броузер использует протокол передачи гипертекстовых документов (HyperText Transfer Protocol - HTTP), а выполнение апплета осуществляется под управлением встроенного в броузер ядра Java.
Если вы решили передать ваши апплеты на Web-сервер (через FTP), убедитесь, что в HTML-файле, в котором они используются, правильно задан атрибут codebase. Если файл апплета с расширением .class находится в том же каталоге, что и соответствующий HTML-файл, вызывающий данный апплет, т.е. содержащий тег < applet>, атрибут codebase можно вообще опустить. Лучше, однако, если это возможно, хранить файлы с расширением .class и исходные тексты программ на языке Java в разных каталогах.