Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ТЕМАТИКИ И ИНФОРМАТИКИ ЯЗЫК ПРОГРАММИРОВАНИЯ JV Лабораторнопрактическое занятие 2 Кроме приложений я

Работа добавлена на сайт samzan.net:


КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ

ЯЗЫК ПРОГРАММИРОВАНИЯ JAVA

Лабораторно-практическое занятие №2

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

С точки зрения языка Java, апплет — это всякое расширение класса Applet, который, в свою очередь, расширяет класс Panel. Таким образом, апплет — это панель специального вида, контейнер для размещения компонентов с дополнительными свойствами и методами.

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

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

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

public void init (){}

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

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

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

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

import java.awt.*; 

import java.applet.*;

public class MySecondProgramm extends Applet{ 

public void paint(Graphics g){

g.drawString("Hello, PM-33!!", 10, 30); 

}

}

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

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

Все указания браузеру даются пометками, тегами (tags), на языке HTML (HyperText Markup Language). В частности, указание на запуск апплета дается в теге <applet>. В нем обязательно задается имя файла с классом апплета параметром code, ширина width и высота height панели апплета в пикселах. Полностью текст HTML для нашего апплета приведен ниже:

Файл HTML для загрузки апплета MySecondProgramm:

<html>

<head>

     <title> Applet</title>

</head>

<body>

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

<applet

code = " MySecondProgramm.class"

width = "200"

height = "100"> 

</applet> 

</body> 

</html>

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

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

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

<applet code = "HelloWorld.class" width = "100%" height = "100%">

Для того, чтобы поменять цвет текста воспользуйтесь методом:

g.setColor(Color.red);

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

appietviewer MySecondProgramm.html

К сожалению, нет строгого стандарта на выполнение апплетов, и браузеры могут запускать их по-разному. Программа appietviewer способна показать апплет не так, как браузеры. Приходится проверять апплеты на всех имеющихся в распоряжении браузерах, добиваясь одинакового выполнения.

PAGE  2




1. темах отсчета а не только в инерциальных и при любых взаимодействиях между телами
2. Российская правовая академия Министерства Юстиции Российской Федерации Утверждаю Проректор по уч
3. СОЮЗ РУССКИХ ХУДОЖНИКОВ И МИР ИСКУССТВА В ПЕРИОД ГОСПОДСТВА НОВЫХ НАПРАВЛЕНИЙ ОБЩАЯ ХАРАКТЕРИСТИКА
4. Тема- Сучасний урок- проект і реалізація
5. Производственная вибрация вибрация в помещениях жилых и общественных зданий
6. Тема- Резервы повышения качества продукции Пояснительная записка КП 230106
7. Аркфункции
8. тема религиозных учений о мире и человеке любовь к знанию знание о законах природы система наиболее
9. Реферат- Опыт Резерфорда
10. МУЧЕНИК НИКОЛАЙ Тайна бо уже деется беззакония точию держай ныне дондеже от ср
11. кваліфікаційний рівень ~ бакалавр заочна форма навчання 1 курс Затверджена на засіданні
12. Причерноморский экономический район
13. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ Дряхлов Андрей Сергеевич Факультет Авт
14. вариантов распятий
15. групп где пока не было учителя С вопросами обращаться к Ческидовой Е
16. трансцендентальном единстве апперцепции и тому подобных сюжетах требующих отрешенности от мирской суеты
17. йоги и хатхайоги
18. тема муниципального права
19. English in business
20. Перспективы развития отрасли.html