Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні робота #5 ОКПП.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
119.81 Кб
Скачать

ОСНОВИ КРОС-ПЛАТФОРМЕННОГО ПРОГРАМУВАННЯ

КЕРІВНИКИ: Левицький І.В., Кучеренко О.І. ЛАБОРАТОРНІ РОБОТИ

Лабораторна робота 5

Тема: Створення аплетів

Мета: Навчитись працювати з класом Applet.

Обладнання та програмне забезпечення: ПК, Java Development Kit (JDK), MS Word, Eclipse SDK Version: 4.2.0.

Джерела та посилання

  1. Герберт Шилдт. Java. Полное руководство, 8-е узд.: Пер. С англ. – М.: ООО«И.Д. Вильямс», 2012. – 1104 с.

  2. Патрик Ноутон, Герберт Шилдт – Java 2. - Издательство: BHV, 2005 г.

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

Аплет – це програма, яка працює з вікнами. Клас Applet визначає методи, які забезпечують всю необхідну підтримку для виконання аплетів, таку як запуск та зупинку. Він також реалізує методи, які завантажують і показують зображення і методи, які завантажують і відтворюють аудіо кліпи. Applet розширює AWT-клас Panel. Крім того Panel розширює Container, який у свою чергу розширює Component. Ці класи забезпечують підтримку графічного інтерфейсу Java при роботі з вікнами.

Всі аплети, крім найбільш тривіальних перенаправляють набір методів забезпечуючих основний механізм з допомогою якого браузер або програма перегляду взаємодіє з аплетом і керує його виконання. Чотири таких методи – init(), start(), stop(), та destroy() визначені в Applet. П’ятий – Paint(), визначений AWT-класом Component.

Хід роботи

        1. Запустіть середовище програмування Eclipse. Створіть новий Java проект з назвою LR_5.

        2. Створіть новий клас з назвою Zavdannja5_1.

        3. Наберіть наступний програмний код та ознайомтесь зі скелетною схемою аплета:

import java.awt.*;

import java.applet.*;

//скелетна схема(скелет) апплета

public class AppletSceletPrezent extends Applet {

// викликається першим

public void init() {

// ініціалізація

}

// викликається другим

// також викликається після перезапуску аплета

public void start() {

// початок або продовження виконання

}

// викликається коли аплет зупинений

public void stop() {

// призупиняє виконання

}

// викликається коли аплет завершується

// це останній виконуваний метод

public void destroy() {

// виконує завершуючі дії

}

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

public void paint(Graphics g) {

// другий показ вмістимого вікна

}

}

        1. Наступна програма демонструє встановлення кольору тексту та фону:

import java.awt.*;

Import java.Applet.*;

public class AppletSample extends Applet {

String sms;

public void init() {

setBackground(Color.black);

setForeground(Color.red);

sms = "метод init() -> ";

}

public void start() {

sms += "метод start() -> ";

}

public void paint(Graphics g) {

sms += " метод paint().";

g.drawString(sms, 10, 30);

}

}

        1. Кожний раз коли необхідно обновити інформацію відображену у вікні ,то викликається метод repaint(). Приклад застосування цього методу наведений нижче:

Import java.Awt.*;

Import java.Applet.*;

public class Zagolovok extends Applet implements Runnable {

String sms = "Бігаючий рядок...";

Thread t = null;

int state;

boolean stopFlag;

public void init() {

setBackground(Color.black);

setForeground(Color.red);

}

public void start() {

t = new Thread(this);

stopFlag = false;

t.start();

}

public void run() {

char ch;

for (;;) {

try {

repaint();

Thread.sleep(100);

ch = sms.charAt(0);

sms = sms.substring(1, sms.length());

sms += ch;

if (stopFlag)

break;

} catch (InterruptedException e) {

}

}

}

public void stop() {

stopFlag = true;

t = null;

}

public void paint(Graphics g) {

g.drawString(sms, 10, 30);

}

}

        1. Крім відображення інформації в своєму вікні, апплет може також виводити повідомлення у вікні стану браузера або програми перегляду апплетів (appletviewer), яка виконує його. Для цього необхідно викликати метод showStatus() та вказати в якості аргумента рядок відображення:

.

.

.

public void paint(Graphics g) {

g.drawString(sms, 10, 30);

showStatus("Вікно статусу в якому виведено повідомлення");

}

.

.

.

        1. Java дозволяє завантажувати в аплет дані із каталогу, який містить HTML-файл, що завантажив аплет(getDocumentBase()) і каталогу з якого був завантажений class-файл аплету (getCodeBase()). Ці методи повертають вказані каталоги у вигляді URL-об’єктів. Наступний програмний код демонструє використання цих методів: