апплеты в java что это

Руководство по Java Core. Апплеты.

Апплет – это Java программа, которая работает внутри веб-браузера. Апплет может быть полноценным Java приложением, так как он может использовать всю мощь Java API.

Существуют некоторые различия между Апплетом и Java-приложением:

Жизненный цикл Апплета

Жизненный цикл апплета связан с такими методами:

Для понимания того, как это работает на практике, рассмотрим пример простого приложения.

В результате работы программы мы получим следующий результат:
апплеты в java что это. Смотреть фото апплеты в java что это. Смотреть картинку апплеты в java что это. Картинка про апплеты в java что это. Фото апплеты в java что это

Так выглядит простейший апплет. Но функционал апплетов позволяет нам делать гораздо более интересные вещи.

Обработка событий

Допустим, нам необходимо создать апплет, который будет обрабатывать нажатия клавиш на клавиатуре и выполнять определённые действия.

Рассмотрим пример простого апплета.

В результате работы программы мы получим следующий результат:

апплеты в java что это. Смотреть фото апплеты в java что это. Смотреть картинку апплеты в java что это. Картинка про апплеты в java что это. Фото апплеты в java что это

Апплеты также позволяют нам выводить изображения, проигрывать аудиофайлы и т.д.

В этом уроке мы изучили основы апплетов в языке программирования Java и рассмотрели примеры простых апплетов.

На этом мы завершаем цикл обучающих статей по Java Core.

Источник

36. Java — Основы работы с апплетами

Апплет – это программа Java, запускаемая в веб-браузере. Апплет может быть полнофункциональным Java-приложением, поскольку имеет в своем распоряжении весь прикладной программный интерфейс Java.

Содержание

Между апплетом и автономным Java-приложением есть некоторые важные различия, в том числе следующие:

Жизненный цикл апплета

Четыре метода в классе Applet определяют основу для создания любого серьезного апплета:

Динамическая сетевая программа «Привет, Мир»

Ниже приведен простой апплет HelloWorldApplet.java.

Эти операторы импорта переносят классы в область действия нашего класса Applet:

Без этих операторов импорта компилятор Java не распознал бы классы Applet и Graphics, на которые ссылается класс Applet.

Класс Applet

Каждый апплет является расширением класса java.applet.Applet. Базовый класс Applet предоставляет методы, которые производный класс Applet может вызывать для получения информации и служб из контекста браузера.

К ним относятся методы, которые выполняют следующее:

Кроме того, класс Applet предоставляет интерфейс, с помощью которого средство просмотра или браузер получает информацию об апплете и управляет его выполнением. Зритель может:

Класс Applet предоставляет реализации по умолчанию для каждого из этих методов. При необходимости эти реализации могут быть отменены.

Динамическая сетевая программа Hello, World скомпилирована в данных условиях. Единственный переопределяемый метод – это метод отрисовки.

Вызов апплета

Динамическая сетевая программа может быть вызвана путем встраивания директив в файл HTML и просмотра файла через программу просмотра апплета или браузер с поддержкой Java.

Примечание. Вы можете обратиться к HTML-тегу апплета, чтобы узнать больше о вызове апплета из HTML.

Если апплет принимает параметры, для параметров можно передать значения, добавив теги

Если апплет находится в пакете, отличном от пакета по умолчанию, пакет хранения должен быть указан в атрибуте кода с использованием символа точки (.) для разделения компонентов пакета/класса. Например:

Получение параметров апплета

В следующем примере показано, как заставить апплет реагировать на параметры настройки, указанные в документе. Этот апплет отображает узор шахматной доски черного и второго цвета.

Второй цвет и размер каждого квадрата могут быть указаны в качестве параметров апплета в документе.

CheckerApplet получает свои параметры в методе init(). Он также может получать свои параметры в методе paint(). Однако получение значений и сохранение настроек один раз при запуске апплета, а не при каждом обновлении, более удобно и эффективно.

Средство просмотра апплета или браузер вызывает метод init() для каждого апплета, который он запускает. Программа просмотра вызывает init() один раз, сразу после загрузки апплета. (Applet.init() не выполняет никаких функций.) Переопределите реализацию по умолчанию, чтобы вставить пользовательский код инициализации.

Метод Applet.getParameter() выбирает параметр по имени параметра (значение параметра всегда является строкой). Если значение представлено числовыми или другими небуквенными данными, строку необходимо проанализировать.

Ниже приведен скелет программы CheckerApplet.java

Вот метод CheckerApplet’s init() и частный метод parseSquareSize():

Динамическая сетевая программа вызывает parseSquareSize() для анализа параметра squareSize. parseSquareSize() вызывает библиотечный метод Integer.parseInt(), который анализирует строку и возвращает целое число. Integer.parseInt() выдает исключение всякий раз, когда его аргумент недопустим.

Следовательно, parseSquareSize() перехватывает исключения, а не позволяет апплету останавливаться при неверном вводе.

Динамическая сетевая программа вызывает parseColor(), чтобы проанализировать параметр цвета в значение цвета. parseColor() выполняет серию сравнений строк, чтобы сопоставить значение параметра с именем предопределенного цвета. Вам необходимо реализовать эти методы, чтобы этот апплет работал.

Определение параметров апплета

Ниже приведен пример HTML-файла со встроенным CheckerApplet. Файл HTML определяет оба параметра апплета с помощью тега

Примечание: в именах параметров не учитывается регистр.

Преобразование приложений в апплет

Графическое приложение Java (то есть приложение, которое использует графический интерфейс пользователя и которое можно запускать с помощью средства запуска программ Java) легко преобразовать в апплет, которую можно встроить в веб-страницу.

Ниже приведены конкретные шаги для преобразования приложения в апплет.

Обработка событий

Динамические сетевые программы наследуют группу методов обработки событий от класса Container. Класс Container определяет несколько методов, таких как processKeyEvent и processMouseEvent, для обработки определенных типов событий, а затем один универсальный метод, называемый processEvent.

Чтобы отреагировать на событие, апплет должен переопределить соответствующий метод для конкретного события.

Теперь давайте назовем этот апплет следующим образом:

Первоначально апплет будет отображать «инициализацию апплета. запуск апплета». Затем, как только вы щелкнете внутри прямоугольника, также будет отображаться «кнопка мышки нажата».

Отображение изображений

Динамическая сетевая программа может отображать изображения в формате GIF, JPEG, BMP и других форматах. Чтобы отобразить изображение в апплете, вы используете метод drawImage() из класса java.awt.Graphics.

Ниже приведен пример, иллюстрирующий все шаги для отображения изображений.

Теперь давайте назовем этот апплет следующим образом:

Воспроизведение аудио

Динамическая сетевая программа может воспроизводить аудиофайл, представленный интерфейсом AudioClip в пакете java.applet. Интерфейс AudioClip имеет три метода, в том числе:

Чтобы получить объект AudioClip, необходимо вызвать метод getAudioClip() класса Applet. Метод getAudioClip() немедленно возвращается независимо от того, ссылается ли URL-адрес на фактический аудиофайл. Аудиофайл не загружается, пока не будет сделана попытка воспроизвести аудиоклип.

Ниже приведен пример, иллюстрирующий все шаги для воспроизведения звука.

Теперь давайте назовем этот апплет следующим образом:

Источник

Апплеты в java что это

Апплеты — это маленькие приложения, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются и запускаются на месте, как часть документа HTML. Когда апплет прибывает к клиенту, его доступ к ресурсам ограничен.

Ниже приведен исходный код канонической программы HelloWorld, оформленной в виде апплета:

import java.awt.*;
import java.applet.*;
public class HelloWorldApplet extends Applet <
public void paint(Graphics g) <
g.drawString(«Hello World!», 20, 20);
> >

Этот апплет начинается двумя строками, которые импортируют все пакеты иерархий java.applet и java.awt. Дальше в нашем примере присутствует метод paint, замещающий одноименный метод класса Applet. При вызове этого метода ему передается аргумент, содержащий ссылку на объект класса Graphics. Последний используется для прорисовки нашего апплета. С помощью метода drawString, вызываемого с этим объектом типа Graphics, в позиции экрана (20,20) выводится строка “Hello World”.

Для того, чтобы с помощью браузера запустить этот апплет, нам придется написать несколько строк html-текста.

CODE = appletFile
OBJECT = appletSerialFile
WIDTH = pixels
HEIGHT = pixels
[ARCHIVE = jarFiles]
[CODEBASE = codebaseURL]
[ALT = alternateText]
[NAME = appletInstanceName]
[ALIGN = alignment]
[VSPACE = pixels]
[HSPACE = pixels]
>
[ ]
[ ]
[HTML-текст, отображаемый при отсутствии поддержки Java]

CODE — обязательный атрибут, задающий имя файла, в котором содержится оттранслированный код апплета. Имя файла задается относительно codebase, то есть либо от текущего каталога, либо от каталога, указанного в атрибуте CODEBASE. В Java 1.1 вместо этого атрибута может использоваться атрибут OBJE CT.

Указывает имя файла, содержащего сериализованный апплет, из которого последний будет восстановлен. При запуске определяемого таким образом апплета должен вызываться не метод init(), а метод start(). Для апплета необходимо задать либо атрибут CODE, либо атрибут OBJECT, но задавать эти атрибуты одновременно нельзя.

WIDTH и HEIGHT — обязательные атрибуты, задающие начальный размер видимой области апплета.

c:\> jar cf soundmap.jar *.class image.gif sound.wav

Очевидно, что передача сжатых jar-файлов повышает эффективность работы. Поэтому многие средства разработки (Lotus JavaBeans, Borland JBuilder) уже имеют средства для публикации апплетов в виде jar-файлов.

CODEBASE — необязательный атрибут, задающий базовый URL кода апплета, являющийся каталогом, в котором будет выполняться поиск исполняемого файла апплета (задаваемого в признаке CODE). Если этот атрибут не задан, по умолчанию используется каталог данного HTML-документа. CODEBASE не обязательно должен указывать на тот же узел, с которого был загружен H TML-документ.

NAME — необязательный атрибут, используемый для задания имени для данного экземпляра апплета. Присвоение апплетам имен необходимо для того, чтобы другие апплеты на этой же странице могли находить их и общаться с ними. Для того, чтобы получить доступ к подклассу MyApplet класса Applet с именем “Duke”, нужно написать:

MyApplet a = getAppletContext().getApplet(«Duke»);

После того, как вы получили таким образом дескриптор именованного экземпляра апплета, вы можете вызывать его методы точно так же, как это делается с любым другим объектом.

ALIGN — необязательный атрибут, задающий стиль выравнивания апплета. Этот атрибут трактуется так же, как в теге IMG, возможные его значения — LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, ABSMIDDLE, BASELINE, BOTTOM, ABSBOTTOM.

Эти необязательные атрибуты задают ширину свободного пространства в пикселях сверху и снизу апплета (VSPACE), и слева и справа от него (HSPACE). Они трактуются точно так же, как одноименные атрибуты тега IMG.

PARAM NAME = appletAttribute1 VALUE = value1

Этот тег дает возможность передавать из HTML-страницы апплету необходимые ему аргументы. Апплеты получают эти атрибуты, вызывая метод getParameter(), описываемый ниже.

Метод getParameter возвращает значение типа String, соответствующее указанному имени параметра. Если вам в качестве параметра требуется значение какого-либо другого типа, вы должны преобразовать строку-параметр самостоятельно. Вы сейчас увидите некоторые примеры использования метода getParameter для извлечения параметров из приведенного ниже примера:

Ниже показано, как извлекается каждый из этих параметров:

String FontName = getParameter(«fontName»);
String FontSize = Integer.parseInt(getParameter(«fontSize»));
String Leading = Float.valueOf(getParameter(«leading»));
String PaidUp = Boolean.valueOf(getParameter(«accountEnabled»));

getDocument Base и getCodeBase

AppletContext и showDocument

AppletContext представляет собой средства, позволяющие получать информацию об окружении работающего апплета. Метод showDocument приводит к тому, что заданный его параметром документ отображается в главном окне браузера или фрейме.

Отладочную печать можно выводить в два места: на консоль и в статусную строку программы просмотра апплетов. Для того, чтобы вывести сообщение на консоль, надо написать:

System.out.println(“Hello there, welcome to Java”);

Сообщения на консоли очень удобны, поскольку консоль обычно не видна пользователям апплета, и в ней достаточно места для нескольких сообщений. В браузере Netscape консоль Java доступна из меню Options, пункт “Show Java Console”.

Метод showStatus выводит текст в статусной области программы арpletviewer или браузера с поддержкой Java. В статусной области можно вывести только одну строку сообщения.

Порядок инициализации апплета

Ниже приведен порядок, в котором вызываются методы класса Applet, с пояснениями, нужно или нет переопределять данный метод.

Метод init вызывается первым. В нем вы должны инициализировать свои переменные.

Метод start вызывается сразу же после метода init. Он также используется в качестве стартовой точки для возобновления работы после того, как апплет был остановлен. В то время, как метод init вызывается только однажды — при загрузке апплета, start вызывается каждый раз при выводе HTML-документа, содержащего апплет, на экран. Так, например, если пользователь перейдет к новой WWW-странице, а затем вернется назад к странице с апплетом, апплет продолжит работу с метода start.

Метод paint вызывается каждый раз при повреждении апплета. AWT следит за состоянием окон в системе и замечает такие случаи, как, например, перекрытие окна апплета другим окном. В таких случаях, после того, как апплет снова оказывается видимым, для восстановления его изображения вызывается метод paint.

Используемый по умолчанию метод update класса Applet сначала закрашивает апплет цветом фона по умолчанию, после чего вызывает метод paint. Если вы в методе paint заполняете фон другим цветом, пользователь будет видеть вспышку цвета по умолчанию при каждом вызове метода update — то есть, всякий раз, когда вы перерисовываете апплет. Чтобы избежать этого, нужно заместить метод update. В общем случае нужно выполнять операции рисования в методе update, а в методе paint, к которому будет обращаться AWT, просто вызвать update.

Метод stop вызывается в тот момент, когда браузер покидает HTML-документ, содержащий апплет. При вызове метода stop апплет еще работает. Вы должны использовать этот метод для приостановки тех подпроцессов, работа которых необязательна при невидимом апплете. После того, как пользователь снова обратится к этой странице, вы должны будете возобновить их работу в методе start.

Метод destroy вызывается тогда, когда среда (например, браузер Netscape) решает, что апплет нужно полностью удалить из памяти. В этом методе нужно освободить все ресурсы, которые использовал апплет.

Возвратимся к апплету HelloWorldApplet. В нем мы заместили метод paint, что позволило апплету выполнить отрисовку. В классе Applet предусмотрены дополнительные методы рисования, позволяющие эффективно закрашивать части экрана. При разработке первых апплетов порой непросто понять, почему метод update никогда не вызывается. Для инициации update предусмотрены три варианта метода repaint.

Метод repaint используется для принудительного перерисовывания апплета. Этот метод, в свою очередь, вызывает метод update. Однако, если ваша система медленная или сильно загружена, метод update может и не вызваться. Близкие по времени запросы на перерисовку могут объединяться AWT, так что метод update может вызываться спорадически. Если вы хотите добиться ритмичной смены кадров изображения, воспользуйтесь методом repaint(time) — это позволит уменьшить количество кадров, нарисованных не вовремя.

Вы можете вызывать метод repaint, устанавливая крайний срок для перерисовки (этот период задается в миллисекундах относительно времени вызова repaint).

Эта версия ограничивает обновление экрана заданным прямоугольником, изменены будут только те части экрана, которые в нем находятся.

repaint(time, x, у, w, h)

Этот метод — комбинация двух предыдущих.

Задание размеров графических изображений.

Графические изображения вычерчиваются в стандартной для компьютерной графики системе координат, в которой координаты могут принимать только целые значения, а оси направлены слева направо и сверху вниз. У апплетов и изображений есть метод size, который возвращает объект Dimension. Получив объект Dimension, вы можете получить и значения его переменных width и height:

Dimension d = size();
System.out.println(d. width + «,» + d.height);

Простые методы класса Graphics

У объектов класса Graphics есть несколько простых функций рисования. Каждую из фигур можно нарисовать заполненной, либо прорисовать только ее границы. Каждый из методов drawRect, drawOval, fillRect и fillOval вызывается с четырьмя параметрами: int x, int y, int width и int height. Координаты х и у задают положение верхнего левого угла фигуры, параметры width и height определяют ее границы.

drawline(int x1, int у1, int х2, int у2)

Этот метод вычерчивает отрезок прямой между точками с координатами (х1,у1) и (х2,у2). Эти линии представляют собой простые прямые толщиной в 1 пиксель. Поддержка разных перьев и разных толщин линий не предусмотрена.

Форма методов drawArc и fillArc следующая:

drawArc(int x, int у, int width, int height, int startAngle, int sweepAngle)

Эти методы вычерчивают (fillArc заполняет) дугу, ограниченную прямоугольником (x,y,width, height), начинающуюся с угла startAngle и имеющую угловой размер sweepAngle. Ноль градусов соответствует положению часовой стрелки на 3 часа, угол отсчитывается против часовой стрелки (например, 90 градусов соответствуют 12 часам, 180 — 9 часам, и так далее).

drawPolyson и fillPolyson

Прототипы для этих методов:

drawPolygon(int[], int[], int)

fillPolygon(int[], int[], int)

Метод drawPolygon рисует контур многоугольника (ломаную линию), задаваемого двумя массивами, содержащими х и у координаты вершин, третий параметр метода — число пар координат. Метод drawPolygon не замыкает автоматически вычерчиваемый контур. Для того, чтобы прямоугольник получился замкнутым, координаты первой и последней точек должны совпадать.

Для создания нового цвета используется один из трех описанных ниже конструкторов.

Параметрами для этого конструктора являются три целых числа в диапазоне от 0 до 255 для красного, зеленого и голубого компонентов цвета.

У этого конструктора — один целочисленный аргумент, в котором в упакованном виде заданы красный, зеленый и голубой компоненты цвета. Красный занимает биты 16-23, зеленый — 8-15, голубой — 0-7.

Color(float, float, float)

Последний из конструкторов цвета, Color(float, float, float), принимает в качестве параметров три значения типа float (в диапазоне от 0.0 до 1.0) для красного, зеленого и голубого базовых цветов.

Методы класса Color

HSBtoRGB(float, float, float)
RGBtoHSB(int, int, int, float[1)

HSBtoRGB преобразует цвет, заданный оттенком, насыщенностью и яркостью (HSB), в целое число в формате RGB, готовое для использования в качестве параметра конструктора Color(int). RGBtoHSB преобразует цвет, заданный тремя базовыми компонентами, в массив типа float со значениями HSB, соответствующими данному цвету.

getRedQ, getGreenO, setBlue()

Каждый из этих методов возвращает в младших восьми битах результата значение соответствующего базового компонента цвета.

Этот метод возвращает целое число, в котором упакованы значения базовых компонентов цвета, причем

setPaintMode() и set XORMode(Color)

Режим отрисовки paint — используемый по умолчанию метод заполнения графических изображений, при котором цвет пикселей изменяется на заданный. XOR устанавливает режим рисования, когда результирующий цвет получается выполнением операции XOR (исключающее или) для текущего и указанного цветов (особенно полезно для анимации).

Библиотека AWT обеспечивает большую гибкость при работе со шрифтами благодаря предоставлению соответствующих абстракций и возможности динамического выбора шрифтов. Вот очень короткая программа, которая печатает на консоли Java имена всех имеющихся в системе шрифтов.

В предыдущих примерах использовался метод drawString(String, x, у). Этот метод выводит строку с использованием текущих шрифта и цвета. Точка с координатами (х,у) соответствует левой границе базовой линии символов, а не левому верхнему углу, как это принято в других методах рисования. Для того, чтобы понять, как при этом располагается описывающий строку прямоугольник, прочтите раздел о метрике шрифта в конце этой главы.

Конструктор класса Font создает новый шрифт с указанным именем, стилем и размером в пунктах:

Font StrongFont = new Font(«Helvetica», Font.BOLD|Font.ITALIC, 24);

В настоящее время доступны следующие имена шрифтов: Dialog, Helvetica, TimesRoman, Courier и Symbol. Для указания стиля шрифта внутри данного семейства предусмотрены три статические переменные. — Font.PLAIN, Font.BOLD и Font.ITALIC, что соответствует обычному стилю, курсиву и полужирному.

Теперь давайте посмотрим на несколько дополнительных методов.

getFamily и getName

Метод getFamily возвращает строку с именем семейства шрифтов. С помощью метода getName можно получить логическое имя шрифта.

Этот метод возвращает целое число, представляющее собой размер шрифта в пунктах.

Этот метод возвращает целое число, соответствующее стилю шрифта. Полученный результат можно побитово сравнить со статическими переменными класса Font: — PLAIN, BOLD и ITALIC.

isBold, isItalic, isPlain

Эти методы возвращают true в том случае, если стиль шрифта — полужирный (bold), курсив (italic) или обычный (plain), соответственно.

Позиционирование и шрифты : FontMetrics

В Java используются различные шрифты, а класс FontMetrics позволяет программисту точно задавать положение выводимого в апплете текста. Прежде всего нам нужно понять кое-что из обычной терминологии, употребляемой при работе со шрифтами:

Ниже приведены некоторые методы класса FontMetrics:

Этот метод возвращает длину заданной строки для данного шрифта.

Эти методы возвращают ширину указанного массива байтов для текущего шрифта.

getAscent, getDescent, getHeight

Эти методы возвращают подъем, снижение и ширину шрифта. Сумма подъема и снижения дают полную высоту шрифта. Высота шрифта — это не просто расстояние от самой нижней точки букв g и у до самой верхней точки заглавной буквы Т и символов вроде скобок. Высота включает подчеркивания и т.п.

getMaxAscent и getMaxDescent

Эти методы служат для получения максимальных подъема и снижения всех символов в шрифте.

Давайте теперь воспользуемся методами объекта FontMetrics для получения подъема, снижения и длины строки, которую требуется нарисовать, и с помощью полученных значений отцентрируем ее в нашем апплете.

Источник

Java-апплет

апплеты в java что это. Смотреть фото апплеты в java что это. Смотреть картинку апплеты в java что это. Картинка про апплеты в java что это. Фото апплеты в java что это

Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии.

Оригинал не указан. Пожалуйста, укажите его.

Эта отметка стоит на статье с 2008-03-20.

Java-апплет — прикладная программа, чаще всего написанная на языке программирования Java в форме байт-кода. Java-апплеты выполняются в веб-обозревателе с использованием виртуальной Java машины (JVM), или в Sun’s AppletViewer, автономном средстве для испытания апплетов. Java-апплеты были внедрены в первой версии языка Java в 1995 году. Java-апплеты обычно пишутся на языке программирования Java, но могут быть написаны и на других языках, которые компилируются в байт‐код Java, таких, как Jython.

Java Servlet иногда неофициально сравнивают с серверным апплетом, но он отличается своим языком, функциями и каждой из описанных здесь характеристик апплетов.

Содержание

Техническая информация

Java-апплеты в большинстве браузеров выполняются в «песочнице», предотвращая их доступ к локальным данным. Код апплета загружается с веб-сервера, и браузер либо вставляет апплет в веб-страницу, либо открывает новое окно с собственным пользовательским интерфейсом апплета. Апплет может быть отображен на веб-странице путем использования устаревшего HTML элемента applet [1], или рекомендуемого элемента object [2]. Этим определяется месторасположение и источник апплета.

Преимущества апплетов

Преимущества использования Java-апплетов

Недостатки апплетов

Java-апплет обладает следующими недостатками:

1.Однако, доступны свободно распространяемые реализации, такие как GCJ-plugin, Blackdown Java-plugin.

Вопросы совместимости

Компания Sun предприняла значительные усилия для обеспечения совместимости между Java-версиями по мере их появления. Например, Microsoft Internet Explorer, самый популярный браузер с конца 1990х, имел обыкновение загружать собственную JVM для Microsoft по умолчанию. MS JVM имеет ряд дополнительных функций, не входящих в Java, которые, будучи использованы, будут препятствовать выполнению MS JVM-апплетам в среде Sun’s Java (но не наоборот). Sun предъявила Microsoft иск за нарушение прав на товарный знак, так как суть Java заключается в том, что не должно быть никакого собственного расширения и что код должен работать везде. Развитие MS JVM было заморожено до правового урегулирования, оставив многих пользователей с чрезвычайно устаревшими виртуальными Java-машинами. Позже, в октябре 2001 года, MS остановил включение Java в Windows, и в течение ряда лет было оставлено на усмотрение производителей компьютеров устанавливать Java или нет, независимо от операционной системы. Большинство новых машин сейчас поставляется с официальной Sun Java.

Некоторые браузеры (в частности, Netscape) не очень хорошо обеспечивают 100%-ую совместимость, что затрудняет выполнение апплета большинством браузеров (JavaScript может с трудом использоваться для этой цели). Поскольку апплет создает свое собственное главное окно, это не является хорошим решением, так как это оставляет окно браузера в значительной степени бесполезным и приводит к тому, что увеличивается шанс непреднамеренного закрытия апплета пользователем путем закрытия исходного окна браузера.

Альтернативы

Существуют альтернативные технологии (например, DHTML, Microsoft Silverlight и Adobe Flash), которые реализуют некоторые возможности апплетов.

Еще одной альтернативой апплетов для клиента Java является Java Web Start, который запускается вне браузера. В дополнение к функциям, доступным в апплете, простой доступ к полям предоставляет программам Java Web Start доступ по чтению и-или записи определенных файлов, хранящихся у клиента, а также к буферу обмена клиента.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *