46820 (Аплеты)

2016-07-30СтудИзба

Описание файла

Документ из архива "Аплеты", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46820"

Текст из документа "46820"

Факультет "Информатика и системы управления"















Методические указания к лабораторной работе

по курсу "Распределенные системы обработки информации"

Аплеты










Москва 2004 г.


Оглавление.


Цель работы

Задание для домашней подготовки

Задание к лабораторной работе

Содержание отчета

Контрольные вопросы.

Литература.

Приложение. Аплеты.

Передача параметров

Параметры тега

Сведения об окружении аплета

Защита от аплета



Цель работы

  1. Познакомиться с библиотекой java.applet и классом java.applet.Applet

  2. Научится обрабатывать события в аплетах.

  3. Освоить работу с управляющими компонентами и менеджерами размещения.

  4. Применить полученные знания на практике

Задание для домашней подготовки

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

Задание к лабораторной работе

  • На основе оконного приложения, созданного в лабораторной работе №5 «Программирование графики и обработка событий», разработать аплет – калькулятор


Содержание отчета

Отчет должен содержать:

  1. Постановку задачи, решаемой отлаженной программой.

  2. Руководство пользователя отлаженной программы, содержащее описание интерфейсов всех функций программы.

  3. Листинг программы с необходимыми комментариями.

Контрольные вопросы.

        1. В случае, если программа – аплет состоит из нескольких классов и после компиляции сгенерировано несколько файлов *.class, как внутри контейнера html – файла это необходимо указать?

        2. Сколько классов в пакете java.applet?

        3. Как изменится работа программы, если внутри блока switch(){} не записывать операторы break.

        4. Модифицируйте аплет так, чтобы коэффициент, на который умножается результат, был случайным числом (метод random() класса java.lang.Math)

        5. Добавьте текстовым полям слушателей и обработчики событий ActionEvent(). Обработчики также должны вызывать метод вывода результата.

Литература.

Официальные источники:

  1. Кен Арнольд, Джеймс Гослинг, Дэвид Холмс. Язык программирования Java™.

  2. Официальный сайт Java — http://java.sun.com/ (есть раздел на русском языке с учебником).

  3. Java™ 2 SDK, Standard Edition Documentation —

  4. Джеймс Гослинг, Билл Джой, Гай Стил. Спецификация языка Java (The Java Language Specification. Перевод на русский язык — http://www.uni-vologda.ac.ru/java/jls/index.html

  5. Официальный сайт проекта Eclipse — http://www.eclipse.org/.

Другое:

  1. Дмитрий Рамодин. Начинаем программировать на языке Java.

  2. Николай Смирнов. Java 2: Учебное пособие.

  3. Картузов А. В. Программирование на языке Java.

  4. Вязовик Н.А. Программирование на Java.

  5. Алексей Литвинюк. Введение в интегрированную среду разработки Eclipse.


Приложение. Аплеты.

Аплеты — это программы, работающие в среде другой программы — браузера. Аплеты не нуждаются в окне верхнего уровня — им служит окно браузера. Они не запускаются JVM — их загружает браузер, который сам запускает JVM для выполнения аплета. Эти особенности отражаются на написании программы – аплета.

С точки зрения языка Java, аплет — это всякое расширение класса Applet, который, в свою очередь, расширяет класс panel. Таким образом, аплет — это панель специального вида, контейнер для размещения компонентов с дополнительными свойствами и методами. Менеджером размещения компонентов по умолчанию, как и в классе Panel, служит FlowLayout. Класс Applet находится в пакете java.applet, в котором кроме него есть только три интерфейса, реализованные в браузере. Надо заметить, что не все браузеры реализуют эти интерфейсы полностью.

Поскольку JVM не запускает аплет, отпадает необходимость в методе main(), его нет в аплетах.

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

Начальные действия, обычно выполняемые в конструкторе и методе main(), в аплете записываются в метод init() класса Applet. Этот метод автоматически запускается исполняющей системой Java браузера сразу же после загрузки аплета. Вот как он выглядит:

public void init(){}

Метод init () не имеет аргументов, не возвращает значения и должен переопределяться в каждом аплете — подклассе класса Applet. Обратные действия — завершение работы, освобождение ресурсов — записываются при необходимости в метод destroy(), тоже выполняющийся автоматически при выгрузке аплета. В классе Applet есть пустая реализация этого метода.

Кроме методов init() и destroy() в классе Applet присутствуют еще два пустых метода, выполняющихся автоматически. Браузер должен обращаться к методу start() при каждом появлении аплета на экране и обращаться к методу stop(), когда аплет уходит с экрана. В методе stop() можно определить действия, приостанавливающие работу аплета, в методе start() — возобновляющие ее. Надо сразу же заметить, что не все браузеры обращаются к этим методам как должно. Работу указанных методов можно пояснить простым житейским примером.

Приехав весной на дачный участок, вы прокладываете водопроводные трубы, прикручиваете краны, протягиваете шланги — выполняете метод init() для своей оросительной системы. После этого, приходя на участок, включаете краны — запускаете метод start(), а уходя, выключаете их — выполняете метод stop(). Наконец, осенью вы разбираете оросительную систему, отвинчиваете краны, просушиваете и укладываете водопроводные трубы — выполняете метод destroy().

Все эти методы в аплете необязательны. В примере 1 записан простейший аплет, выполняющий программу HelloWorld.

Пример 1. аплет HelloWorld

import java.awt.*; 

import java.applet.*;

public class HelloWorld extends Applet{ 

public void paint(Graphics g){

g.drawstring("Hello, XXI century World!", 10, 30); 

}

}

Эта программа записывается в файл HelloWorld.java и компилируется как обычное приложение: 

Компилятор создает файл HelloWorld.class, но воспользоваться для его выполнения интерпретатором java теперь нельзя — нет метода main(). Вместо интерпретации надо дать указание браузеру для запуска аплета.

Указание браузеру на запуск аплета дается в теге . В нем обязательно задаются:

имя файла с классом аплета параметром code;

ширина width и высота height панели аплета в пикселах. Полностью текст HTML для нашего аплета приведен в примере 2.

Пример 2. Файл HTML для загрузки аплета HelloWorld

Applet

Ниже выполняется аплет.

 

 

 

Этот текст заносится в файл с расширением html или htm, например, HelloWorld.html. Имя файла произвольно, никак не связано с аплетом или классом аплета.

Оба файла — HelloWorld.html и HelloWorld.class — помещаются в один каталог на сервере, и файл HelloWorld.html загружается в браузер, который может находиться в любом месте сервера. Браузер, просматривая HTML-файл, выполнит тег и загрузит аплет. После загрузки аплет появится в окне браузера, как показано на рисунке 1.

Рисунок 1. Аплет HelloWorld  в окне Internet Explorer

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

Во-вторых, как видно на рис. 1, у аплета серый фон. Такой фон был в первых браузерах, и аплет не выделялся из текста в окне браузера. Теперь в браузерах принят белый фон, его можно установить обычным для компонентов методом setBackground(Color.white), обратившись к нему в методе init ().

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

На рисунке 2 appletviewer показывает аплет HelloWorld.

Рисунок 2. Аплет HelloWorld  в окне программы appletviewer

Замечание по отладке

Браузеры помещают загруженные аплеты в свой кэш, поэтому после щелчка кнопкой мыши по кнопке Refresh или Reload запускается старая копия аплета из кэша Для загрузки новой копии надо при щелчке по кнопке Refresh в IE (Internet Explorer) держать нажатой клавишу , а при щелчке по кнопке Reload в NC (Netscape Communicator) — клавишу Иногда и это не помогает. Не спасает даже перезапуск браузера. Тогда следует очистить оба КЭШа – и дисковый, и кэш в памяти. В IE это выполняется кнопкой Delete Files в окне, вызываемом выбором команды Tools | Internet Options. B NC необходимо открыть окно Cache командой Edit | Preferences | Advanced.

При запуске приложения интерпретатором java из командной строки в него можно передать параметры в виде аргумента метода main (string [] args). В аплеты также передаются параметры, но другим путем.


Передача параметров

Передача параметров в аплет производится с помощью тегов , располагаемых между открывающим тегом и закрывающим тегом в HTML-файле. В тегах указывается название параметра name и его значение value.

В аплете для приема каждого параметра надо воспользоваться методом getParameter (String name) класса Applet, Возвращающим строку типа String. В качестве аргумента этого метода задается значение параметра name в виде строки, причем здесь не различается регистр букв, а метод возвращает, значение параметра value тоже в виде строки.

Надеясь на то, что параметры будут заданы в HTML-файле, все-таки присвойте начальные значения переменным в аплете.

Замечание по отладке

Операторы System.out.println(), обычно записываемые в аплет для отладки, выводят указанные в них аргументы в специальное окно браузера Java Console. Сначала надо установить возможность показа этого окна. В Internet Explorer это делается установкой флажка Java Console enabled выбором команды Tools | Internet Options | Advanced. После перезапуска IE в меню View появляется команда Java Console.


Параметры тега

Обязательные параметры:

  • code — URL-адрес файла с классом аплета или архивного файла;

  • width и height — ширина и высота аплета в пикселах. 

Необязательные параметры:

  • codebase — URL-адрес каталога, в котором расположен файл класса аплета. Если этот параметр отсутствует, браузер будет искать файл в том же каталоге, где размещен соответствующий HTML-файл;

  • archive — файлы всех классов, составляющих аплет, могут быть упакованы архиватором ZIP или специальным архиватором JAR в один или несколько архивных файлов. Параметр задает URL-адреса этих файлов через запятую;

  • align — выравнивание аплета в окне браузера. Этот параметр имеет одно из следующих значений: ABSBOTTOM, ABSMIDDLE, BASELINE, BOTTOM, CENTER, LEFT, MIDDLE, RIGHT, TEXTTOP, TOP;

  • hspace и vspace — горизонтальные и вертикальные поля, отделяющие аплет от других объектов в окне браузера в пикселах;

  • download — задает порядок загрузки изображений аплетом. Имена изображений перечисляются через запятую в порядке загрузки;

  • name — имя аплета. Параметр нужен, если загружаются несколько аплетов с одинаковыми значениями code и codebase;

  • style — информация о стиле CSS (Cascading Style Sheet); title — текст, отображаемый в процессе выполнения аплета;

  • alt — текст, выводимый вместо аплета, если браузер не может загрузить его;

  • mayscript — не имеет значения. Это слово указывает на то, что аплет будет обращаться к тексту JavaScript.

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

archive = "anapplet.zip, myclasses.zip"

codebase = "

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее