Програмування Java-аплетів. Створення і виконання Java-aплету за допомогою JCreator

Страницы работы

8 страниц (Word-файл)

Содержание работы

Об'єктно-орієнтоване програмування                                                                                                                                                   Java2

ЛабораторнароботаЗ Застосуванняспадкуваннякласів.

Програмування Java-аплетів

1.  Скласти програму Java-аплет, що зображує у вікні аплету рисунок фігури відповідно до
варіанту та дозволяє користувачу управляти розміром, положенням та кутом повороту
фігури за допомогою клавіатури.

2.  Фігура повинна бути реалізованою, як група об'єктів, що є екземплярами класів-спадкоємців
одного з класів наведеної нижче ієрархії:

Класи цієї ієрархії знаходяться кожен у своїм файлі (файл повинен мати ім'я, що співпадає з іменем класу, що реалізований у ньому). (Можна створити свою власну ієрархію класів, але їх повинно бути не менше трьох)

Файл Location. Java:

/** КласLocation- базовийкласієрархії

вінєспадкоємцемабстрактногоклсауObject

наосновіньогобудуємосвоюієрархію
*/

class Location {

privateintx, у;    // Приватнідані - координатиоб'єкта

/** КонструкторкласуLocation */ public Location(int ax, int ay) {

x = ax; у =ау; }

/** ВідкритіреалізованіметодикласуLocation */ public int getX() { return x; }

public int getY() { return y; }

public void setX(int newX) { x = newX; }

public void setY(int newY) { у = newY; }

public void moveBy(int dx, int dy) { x += dx; у += dy; }

}


Об'єктно-орієнтоване програмування                                                                                                                                                   Java2

Файл Point.Java import j ava.awt.*;

/** КласPoint - наступнийкласієрархії

вінєспадкоємцемкласуLocation

вінможеперемішуватисьпоекрануівідображатисьнаньому
*/

class Point extends Location {

private boolean visible;  // Приватніданіоб'єктукласуTPoint: private Color col;       // Коліртаознакавидимості

/** КонструкторкласуPoint */

public Point(int ax, int ay, Color acol) {

super(ax,ay);  // Викликуспадкованогоконструктора

col = acol;

visible = true; }

/** Відкритіметодиоб'єктукласуPoint */ public boolean isVisible() { return visible; }

public void setvisible(boolean avis) { visible = avis; }

public void moveBy(int dx, int dy) {

setvisible(false);

super.moveBy(dx,dy);

setvisible(true); }

public void setColor(Color newCol) { col = newCol; } public Color getColor() { return col; }

/** Відкритийметодdraw, йогобудевикликатиаплет, щоміститьТочку * дляїївідображенняусвоємувікні */

public void draw(Graphics g) { if (isVisible()) { g.setColor (col);

g.drawLine(getx(),getY(),getx(),getY()); } } }

2


Об'єктно-орієнтоване програмування                                                                                                                                                   Java2

Файл Circle.Java import j ava.awt.*;

/** КласCircle - наступнийкласієрархії

вінєспадкоємцемкласуPointі, крімтогощоможепредок,

вінможезмінюватирозмір, атакожвідображаєтьсяіншимспособом
*/

class Circle extends Point {

private int  radius;  // приватнідані - радіускола

/** Конструктороб'єктуКоло */

public Circle(int ax, int ay, int aradius, Color acol) {

super(ax,ay,acol);  // Викликаємоконструкторпредка (класуPoint)

radius = aradius; }

/** ВідкритіметодикласуCircle*/

publicvoidsetRadius(intnewRadius) { // ВстановитиновийрадіусКола

radius = newRadius; }

publicintgetRadius() { // ОтриматирадіусКола

returnradius; }

/** Відкритийметодdraw, йогобудевикликатиаплет, щоміститьКоло * дляйоговідображенняусвоємувікні */

public void draw(Graphics g) { if (isVisible()) {

g.setColor(getColor());

g.drawOval(getx()-radius, getx()-radius, radius*2, radius*2); } } }

Короткі теоретичні відомості

Огляд структури Java-аплету

Програміст може реалізувати п'ять методів "життєвого циклу" об'єкта Applet (точніше, його спадкоємця): init(), startQ, stop(), destroy(). Життєвий цикл аплету складніший, ніж у звичайного додатку (рос. приложения), оскільки користувач може заставити броузер перейти до нової сторінки, повернутися до попередньої, перезавантажити поточну сторінку і т.п. Що ж робити бідному аплету?

Аплети зазвичай використовують метод init() для ініціалізації свого стану, з тією ж самою функцією, як і у конструктора в класі, що не є аплетом. Це є обов'язковим, бо в конструкторі аплету не можна використовувати методи, що є специфічними для аплету, наприклад, getParameter().

Метод start() викликається, коли броузер повністю завантажив аплет і готовий до його виконання. Зазвичай саме в цей момент аплет запускає ниті, завантажує аудіо чи відео, або виконує операції, що займають відносно великий час.

Метод stop() викликається, коли користувач покидає сторінку.

Останнім методом атлета, що часто використовується, є destroy(), який викликається тоді, коли броузер видаляє аплет з пам'яті і дозволяє закрити файли, мережеві з'єднання.

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

Похожие материалы

Информация о работе