Разделы презентаций


Аплети

Содержание

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaЗмістОснови аплетівКлас AppletМетоди, визначені в класі AppletАрхітектура аплетаКістякова схема аплетаІніціалізація і завершення аплетаМетод init ()Метод start ()Метод paint ()Метод stop ()Метод destroy ()Перевизначення методу update()Прості методи відображення аплетівКонстанти

Слайды и текст этой презентации

Слайд 1Аплети


Лекція 9.1
доц. кафедри Ініорматики
Сінельнікова Т.Ф.

АплетиЛекція 9.1 доц. кафедри Ініорматики Сінельнікова Т.Ф.

Слайд 2ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Зміст
Основи аплетів
Клас Applet
Методи, визначені в класі Applet
Архітектура

аплета
Кістякова схема аплета
Ініціалізація і завершення аплета
Метод init ()
Метод start ()
Метод

paint ()
Метод stop ()
Метод destroy ()
Перевизначення методу update()
Прості методи відображення аплетів
Константи класу Color
Вимога перемальовування
Тег
Пересилання параметрів в аплети
Вивід на консоль
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaЗмістОснови аплетівКлас AppletМетоди, визначені в класі AppletАрхітектура аплетаКістякова схема аплетаІніціалізація і завершення аплетаМетод init

Слайд 3ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Основи аплетів
Всі аплети є підкласами Applet. Таким

чином, вони повинні імпортувати java.applet, А також java.awt.

Так як всі

аплети виконуються у вікні, необхідно включити підтримку для цього вікна.

Аплети не виконуються Java-Інтерпретатором часу виконання, які працюють в консольному режимі.

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

Виконання аплету не починається з методу main ().

Деякі з них навіть містять метод main (), Проте виконання апплета починається і управляється зовсім іншим механізмом, який вимагає хоча б короткого пояснення.

Висновок у вікно аплету не виконується методом system.out.printin ().

Скоріше, він обробляється різними AWT-Методами, такими як drawstring (),
Який виводить рядок у вказану точку екрану.

Введення також обробляється інакше, ніж в додатку.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОснови аплетівВсі аплети є підкласами Applet. Таким чином, вони повинні імпортувати java.applet, А також

Слайд 4ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Як тільки аплет вікомпільован, він включається в

HTML-Файл, використовуючи тег .

Аплет буде виконуватися Java-Сумісним браузером, коли

той зустріне в HTML-Файлі вказаний тег.

Для більш зручного перегляду та перевірки аплету просто включите в початок файлу вихідного коду Java-Коментар, який містить тег .

Цим способом ваш код документується разом з інструкціями HTML, необхідними аплету, і ви можете перевірити відкомпільований аплет, запустивши програму перегляду з вашим файлом вихідного коду в якості параметра.

Приклад такого коментаря:

/ *
applet code = "MyApplet" width = 200 height = 60>

* /

Цей коментар містить тег , який виконає аплет з ім'ям MyAppiet у вікні з розмірами 200x60 пікселів.

Основи аплетів


Слайд 5ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Applet забезпечує всю необхідну підтримку для виконання

аплетів, таку як запуск і зупинка.

Він також реалізує методи,

які завантажують і показують зображення, і методи, які завантажують і програють аудіо-кліпи.

Applet розширює AWT-Клас Panel.

Крім того, Panel розширює Container, який, в свою чергу,
розширює Component.

Ці класи забезпечують підтримку графічного інтерфейсу Java при роботі з вікнами.

Таким чином, Applet забезпечує всю необхідну підтримку для роботи з вікнами.

Клас Applet

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaApplet забезпечує всю необхідну підтримку для виконання аплетів, таку як запуск і зупинка. Він

Слайд 6ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Методи, визначені в класі Applet

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетоди, визначені в класі Applet

Слайд 7ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Методи, визначені в класі Applet

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетоди, визначені в класі Applet

Слайд 8ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Аплет - програма, що працює з вікном.



По-перше, аплети управляються подіями. Аплет походить на набір програм обробки

переривань. Процес виконується так: аплет очікує виникнення деякої події. AWT повідомляє аплет про подію викликом обробника події, який був забезпечений аплетом. Як тільки це трапляється, аплет повинен виконати відповідну дію і потім швидко повернути управління AWT. Це критичний момент.

Здебільшого ваш аплет не повинен входити в режим
роботи, в якому він підтримує управління тривалий період.

У тих ситуаціях, коли аплет змушений виконувати повторювану задачу сам по собі (наприклад, відображаючи прокручується в його вікні повідомлення), ви повинні запустити додатковий потік виконання.

Архітектура аплета

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaАплет - програма, що працює з вікном. По-перше, аплети управляються подіями. Аплет походить на

Слайд 9ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua






По-друге, користувач ініціалізує взаємодію з аплетом. Користувач

взаємодіє з аплетом, як і коли він цього захоче. Ці

взаємодії надсилаються аплету як події, на які аплет повинен відповісти. Наприклад, коли користувач клацає мишею всередині вікна апплета, генерується подія "клацання мишею". Якщо користувач натискає клавішу в той час, коли вікно аплета має фокус вводу, генерується подія "натискання клавіші". Коли користувач взаємодіє з одним із цих елементів управління, також генерується подія.

Архітектура аплета

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПо-друге, користувач ініціалізує взаємодію з аплетом. Користувач взаємодіє з аплетом, як і коли він

Слайд 10ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Кістякова схема аплета



Всі аплети, крім найбільш тривіальних,

перевизначають набір методів, що забезпечують основний механізм, за допомогою якого

браузер або програма перегляду взаємодіє з аплетом і управляє його виконанням.

Чотири таких методу - init(), start(), stop() І destroy () - Визначені в Applet.

П'ятий, paint(), Визначений AWT-Класом Сomponent.

Для всіх цих методів забезпечені також і реалізації за замовчуванням.

Аплетам не потрібно перевизначати ті методи, які вони не використовують.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКістякова схема аплетаВсі аплети, крім найбільш тривіальних, перевизначають набір методів, що забезпечують основний механізм,

Слайд 11ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Ініціалізація і завершення аплета


Важливо зрозуміти порядок, в

якому викликаються різні методи, показані в скелетної схемою.

Коли аплет

починає виконуватися, AWT викликає методи в такій послідовності:
init()
start ()
paint ()

При завершенні аплету має місце наступна послідовність викликів:
stop()
destroy ()

Розглянемо докладніше ці методи.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaІніціалізація і завершення аплетаВажливо зрозуміти порядок, в якому викликаються різні методи, показані в скелетної

Слайд 12ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Метод init ()

Метод init () - Перший

метод, який вимагає виклику. В ньому ви повинні ініціалізувати змінні.

Викликається він тільки одного разу протягом часу виконання аплету.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетод init ()Метод init () - Перший метод, який вимагає виклику. В ньому ви

Слайд 13ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Метод start ()
Метод start () слід після

init ().

Він також викликається, щоб перезапустити аплет після його зупинки.



У той час як init () Викликається одного разу (в перший момент, коли аплет завантажується), start () запускається кожного разу, коли HTML-Документ аплету відображається на екрані.

Так, якщо користувач залишає Web-Сторінку і повертається назад, аплет відновлює виконання в start ().
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетод start ()Метод start () слід після init ().Він також викликається, щоб перезапустити аплет

Слайд 14ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Метод paint ()
Метод paint () Викликається щоразу,

коли висновок аплету повинен бути перемальований.

Це ситуація може виникнути

з кількох причин.
Наприклад, вікно, в якому аплет виконується, може бути перекрито зверху іншим вікном, яке потім закривається, або вікно аплета може бути згорнуто і потім відновлено.
Метод paint () викликається також, коли аплет починає виконання.

Таким чином, незалежно від причини paint () викликається кожного разу, коли аплет повинен перемальовувати свій висновок.

Метод paint () Має один параметр типу Graphics. Він повинен містити графічний контекст, що описує графічну середовище, в якому виконується аплет.

Даний контекст використовується щоразу, коли потрібно висновок в аплет.



ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетод paint ()Метод paint () Викликається щоразу, коли висновок аплету повинен бути перемальований. Це

Слайд 15ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Метод stop ()
Метод stop () Викликається, якщо

Web-Браузер залишає HTML-Документ, що містить аплет, при переході до іншої

сторінки.

Коли викликається stop (), Аплет, ймовірно, продовжує виконуватися.

Слід використовувати stop () для припинення потоків, які не потребують виконання, якщо аплет невидимий.

Їх можна перезапустити викликаючи start (), Коли користувач повертається до сторінки.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетод stop ()Метод stop () Викликається, якщо Web-Браузер залишає HTML-Документ, що містить аплет, при

Слайд 16ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Метод destroy ()
Метод destroy () Викликається, коли

середу вирішує, що аплет повинен бути повністю видалений з пам'яті.



У цей момент слід звільнити будь-які ресурси, які аплет може використовувати.

Метод stop () завжди викликається перед destroy ().
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМетод destroy ()Метод destroy () Викликається, коли середу вирішує, що аплет повинен бути повністю

Слайд 17ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Перевизначення методу update()
У деяких ситуаціях аплет може

перевизначити метод update (), Визначений у AWT.

Даний метод викликається, коли

потрібно перемальовування частині вікна аплету.

Задана за замовчуванням версія update () спочатку заповнює аплет заданим за умовчанням кольором фону і потім викликає paint ().

Якщо ви заповнюєте фон, використовуючи інший колір в paint (), То користувач буде бачити спалах заданого за замовчуванням фону кожного разу, коли викликається update (), Тобто всякий раз, коли вікно перемальовується.

Один із способів обійти зазначену проблему полягає в перевизначенні методу update () так, щоб він виконував всі необхідні дії дисплея.

Тоді, викликаючи paint (), Просто запускають update ().
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПеревизначення методу update()У деяких ситуаціях аплет може перевизначити метод update (), Визначений у AWT.Даний

Слайд 18ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Прості методи відображення аплетів
Аплети відображаються у вікні,

і вони використовують AWT для організації введення і виведення.

Щоб

вивести рядок у вікно аплета, використовують метод drawstring (), Який є членом класу Graphics.

Як правило, він викликається всередині або update о, або paint о. Він має таку загальну форму:
void drawstring (String message, int x, int y)

Тут message - Рядок, яку потрібно вивести, починаючи з позиції х, у.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПрості методи відображення аплетівАплети відображаються у вікні, і вони використовують AWT для організації введення

Слайд 19ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Прості методи відображення аплетів
Метод drawstring() Не розпізнає

символи newline. Якщо потрібно почати порцію тексту з нового рядка,

потрібно зробити це вручну, визначаючи точні (х, у) координати, з яких ви хочете почати розміщення рядка.

Для установки кольору фону у вікні аплету використовуйте метод setBackground(), А для кольору переднього плану (колір, який застосовується для відображення тексту - setForeground (). Обидва методи визначені в

Component і мають наступні загальні форми:
void setBackground (Color newColor)
void setForeground (Color newColor)

Тут newColor - Призначає новий колір.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПрості методи відображення аплетівМетод drawstring() Не розпізнає символи newline. Якщо потрібно почати порцію тексту

Слайд 20ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Константи класу Color
Color.black
Color.magenta
Color.blue

Color.orange
Color.cyan
Color.pink
Color.darkGray
Color.red
Color.gray
Color.white
Color.green
Color.yellow
Color.lightGray

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКонстанти класу Color  Color.black Color.magenta Color.blue Color.orange Color.cyan Color.pink Color.darkGrayColor.redColor.grayColor.whiteColor.greenColor.yellowColor.lightGray

Слайд 21ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Вимога перемальовування
Існує загальне правило: аплет організовує висновок

в своє вікно тільки тоді, коли AWT викликає його методи

update () або paint () .

Як сам аплет може викликати модифікацію свого вікна, коли його інформація змінюється? Наприклад, якщо аплет відображає рухомий заголовок, який механізм використовується для відновлення вікна кожного разу, коли цей заголовок прокручується?

Одне з фундаментальних архітектурних обмежень, накладених на аплет: він повинен швидко повернути управління в виконуючу систему AWT. Він не може створювати цикл всередині paint(), Який, наприклад, повторно прокручує заголовок. Це завадило б передачу управління назад у AWT. При цьому обмеження може здатися, що виведення у вікно аплета буде утруднений.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВимога перемальовуванняІснує загальне правило: аплет організовує висновок в своє вікно тільки тоді, коли AWT

Слайд 22ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Вимога перемальовування
Всякий раз, коли аплет повинен оновити

інформацію, відображену в його вікні, він просто викликає repaint().

Метод repaint

() Визначений в пакеті AWT. Він змушує виконуючу систему AWT викликати метод update() Вашого аплету, який в його реалізації за замовчуванням викликає paint ().

Таким чином, в тій частині аплету, де потрібно відобразити щось у вікні, просто збережіть висновок і потім викличте repaint (). Тоді AWT виконає виклик paint (), Який може відображати збережену інформацію. Наприклад, якщо частина аплету повинна вивести рядок, вона може зберегти цей рядок в string-Змінної і потім викликати repaint (). Всередині paint () Ви будете виводити рядок, використовуючи метод drawstring ().
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВимога перемальовуванняВсякий раз, коли аплет повинен оновити інформацію, відображену в його вікні, він просто

Слайд 23ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Вимога перемальовування
Найпростіша версія repaint ():
void repaint

()

Наступна версія визначає область, яка буде перемальована:
void repaint (int

left, int top, int width, int height)

Тут координати верхнього лівого кута області визначені параметрами left і top,а ширина і висота області пересилається в width іheight.Ці вимірювання визначені в пікселах.
void repaint (long maxDelay)
void repaint (long maxDelay, int x, int y, int width, int height)

Тут maxDelay визначає максимальне число мілісекунд, на яке затримується виклик update (). Якщо цей час закінчиться раніше, ніж update () може бути викликаний, він зовсім не викликається. У методу немає ніякого значення, що повертається або викинутого винятку, так що ви повинні бути уважними.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВимога перемальовуванняНайпростіша версія repaint (): void repaint ()Наступна версія визначає область, яка буде перемальована:

Слайд 24ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Тег
Далі показаний синтаксис стандартного тега .

Параметри у квадратних дужках - не обов'язкові.


[CODEBASE = codebaseURZ]
CODE =

appletFile
[ALT = altemateText]
[NAME = appletlnstanceName]
WIDTH = pixels HEIGHT = pixels
[ALIGN = alignment]
[VSPACE = pixels] [HSPACE = pixels]>
[]
[]
[HTML Displayed, in the absence of Java]
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaТег Далі показаний синтаксис стандартного тега . Параметри у квадратних дужках - не обов'язкові.[CODEBASE

Слайд 25ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Тег
CODEBASE.Визначає базовий URL-Адресу коду аплету. Базовий

URL - Це каталог, в якому буде розшукуватиметься виконуваний файл

аплета (ім'я цього файлу вказується параметром CODE). Якщо атрибут CODEBASE не визначений, то за умовчанням використовується базовий URL (Т. е. каталог) поточного HTML-Документа.

CODE. Обов'язковий параметр, який задає ім'я файлу, що містить відкомпільований файл (з розширенням.class) Вашого аплету. Цей файл відноситься до базового URL коду аплету, що є каталогом, в якому знаходиться HTML-Файл, або каталогом, зазначеним у параметрі CODEBASE (Якщо він використовується).
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaТег CODEBASE.Визначає базовий URL-Адресу коду аплету. Базовий URL - Це каталог, в якому буде

Слайд 26ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Тег
ALT. Необов'язковий параметр, який використовується для

вказівки короткого текстового повідомлення, яке повинно бути відображено, якщо браузер

розуміє тег , Але не може в поточний момент виконувати Java-Аплети. (Ця ситуація відрізняється від того випадку, коли для браузерів, не підтримують аплети, ви передбачаєте альтернативний HTML-Документ.)

NAME. Необов'язковий параметр, який використовується для визначення імені примірника аплету. Аплети повинні бути якимось чином названі для забезпечення пошуку і зв'язку з ними інших аплетів по імені. Для того щоб отримати аплет по імені, використовуйте метод getApplet(), Що визначений в інтерфейсі Appletcontext.

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaТег ALT. Необов'язковий параметр, який використовується для вказівки короткого текстового повідомлення, яке повинно бути

Слайд 27ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Тег

WIDTH і HEIGHT - Це обов'язкові

параметри, які задають розмір області показу аплету (в пікселах).

ALIGN.Необов'язковий параметр,

який визначає вирівнювання аплету. Даний параметр трактується так само, як HTML-Тег З наступними можливими значеннями: left,right,top,bottom,middle,baseline, texttop, absmiddle і absbottom.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaТег WIDTH і HEIGHT - Це обов'язкові параметри, які задають розмір області показу аплету

Слайд 28ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Тег
VSPACE і HSPACE. Ці параметри необов'язкові.

VSPACE визначає порожній інтервал (в пікселах) вище і нижче області

показу аплету. HSPACE задає порожній інтервал (в пікселах) на кожній стороні області показу аплету. Вони трактуються так само, як атрибути VSPACE іHSPACE тега .

Тег (З параметрами NAME= іVALUE=). Вкладений тег Дозволяє вказувати на HTML-Сторінці параметри, специфічні для даного аплету. Аплет отримує доступ до цих параметрів за допомогою методу getParameter ().
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaТег VSPACE і HSPACE. Ці параметри необов'язкові. VSPACE визначає порожній інтервал (в пікселах) вище

Слайд 29ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Пересилання параметрів в аплети
Тег Дозволяє передавати

параметри включаючему аплету.

Для отримання цих параметрів слід використовувати метод

getParameter.

Він повертає значення вказаного параметра в формі string-Об'єкта.

Таким чином, для числових і булевих значень потрібно буде перетворити їх рядкові подання у внутрішні формати.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПересилання параметрів в аплетиТег Дозволяє передавати параметри включаючему аплету. Для отримання цих параметрів слід

Слайд 30ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Вивід на консоль


Хоча висновок у вікно аплета

повинен бути організований через AWT-Методи типу drawstring (), Все ще

можна використовувати і консольний висновок, особливо для цілей налагодження.

Коли викликається метод, такий як System.out.printin (), Висновок не надсилається у вікно аплета.

Замість цього він з'являється або в консольному сеансі, де ви запустили програму перегляду аплету, або в консолі Java, Яка доступна в деяких браузерах.

Використання консольного виводу рекомендується тільки для цілей налагодження, тому що він порушує основний принцип проектування додатків - використання графічного інтерфейсу.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВивід на консольХоча висновок у вікно аплета повинен бути організований через AWT-Методи типу drawstring

Слайд 31Дякую за увагу!

Дякую за увагу!

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика