Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java — Основы апплетов

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

Есть несколько важных различий между апплетом и автономным Java-приложением, в том числе следующие —

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

Четыре метода в классе Applet дают вам основу, на которой вы строите любой серьезный апплет —

Апплет "Hello, World"

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

04

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

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

Класс апплета

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

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

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

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

Апплет «Hello, World» готов в том виде, в каком он есть. Единственным переопределяемым методом является метод рисования.

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

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

Тег является основой для встраивания апплета в файл HTML. Ниже приведен пример вызова апплета «Hello, World» —

13

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

Атрибут кода тега является обязательным. Он указывает класс апплета для запуска. Ширина и высота также необходимы для указания начального размера панели, в которой работает апплет. Директива апплета должна быть закрыта тегом .

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

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

Средство просмотра или браузер ищет скомпилированный код Java в расположении документа. Чтобы указать иное, используйте атрибут codebase тега , как показано —

21

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

35

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

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

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

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

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

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

Ниже приведен скелет CheckerApplet.java —

43

Вот методы init() и private parseSquareSize() CheckerApplet —

51

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

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

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

Указание параметров апплета

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

64

Примечание − Имена параметров не чувствительны к регистру.

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

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

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

  • Создайте HTML-страницу с соответствующим тегом для загрузки кода апплета.

  • Предоставьте подкласс класса JApplet. Сделайте этот класс общедоступным. В противном случае апплет не может быть загружен.

  • Исключите основной метод в приложении. Не создавайте окно фрейма для приложения. Ваше приложение будет отображаться в браузере.

  • Переместите любой код инициализации из конструктора окна фрейма в метод init апплета. Вам не нужно явно создавать объект апплета. Браузер создает его для вас и вызывает метод init.

  • Удалите вызов setSize; для апплетов размер определяется параметрами ширины и высоты в файле HTML.

  • Удалите вызов setDefaultCloseOperation. Апплет не может быть закрыт; он завершается при выходе из браузера.

  • Если приложение вызывает setTitle, исключите вызов метода. У апплетов не может быть заголовков. (Конечно, вы можете озаглавить саму веб-страницу, используя HTML-тег title.)

  • Не вызывайте setVisible(true). Апплет отображается автоматически.

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

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

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

76

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

83

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

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

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

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

93

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

100 

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

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

  • public void play() − Воспроизводит аудиоклип один раз с самого начала.

  • общедоступная недействительная петля() − Заставляет аудиоклип непрерывно воспроизводиться.

  • public void stop() − Останавливает воспроизведение аудиоклипа.

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

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

118

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

123

Вы можете использовать test.wav на своем ПК, чтобы протестировать приведенный выше пример.


java

  1. Операторы Java
  2. Java-комментарии
  3. Java для каждого цикла
  4. Java-строки
  5. Java-интерфейс
  6. Анонимный класс Java
  7. Java-проба с ресурсами
  8. Java-аннотации
  9. Утверждения Java
  10. Java вектор