
- •Лабораторна робота 5
- •Теоретичні відомості
- •Хід роботи
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Import java.Applet.*;
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Контрольні запитання
ОСНОВИ КРОС-ПЛАТФОРМЕННОГО ПРОГРАМУВАННЯ
КЕРІВНИКИ: Левицький І.В., Кучеренко О.І. ЛАБОРАТОРНІ РОБОТИ
Лабораторна робота 5
Тема: Створення аплетів
Мета: Навчитись працювати з класом Applet.
Обладнання та програмне забезпечення: ПК, Java Development Kit (JDK), MS Word, Eclipse SDK Version: 4.2.0.
Джерела та посилання
Герберт Шилдт. Java. Полное руководство, 8-е узд.: Пер. С англ. – М.: ООО«И.Д. Вильямс», 2012. – 1104 с.
Патрик Ноутон, Герберт Шилдт – Java 2. - Издательство: BHV, 2005 г.
Теоретичні відомості
Аплет – це програма, яка працює з вікнами. Клас Applet визначає методи, які забезпечують всю необхідну підтримку для виконання аплетів, таку як запуск та зупинку. Він також реалізує методи, які завантажують і показують зображення і методи, які завантажують і відтворюють аудіо кліпи. Applet розширює AWT-клас Panel. Крім того Panel розширює Container, який у свою чергу розширює Component. Ці класи забезпечують підтримку графічного інтерфейсу Java при роботі з вікнами.
Всі аплети, крім найбільш тривіальних перенаправляють набір методів забезпечуючих основний механізм з допомогою якого браузер або програма перегляду взаємодіє з аплетом і керує його виконання. Чотири таких методи – init(), start(), stop(), та destroy() визначені в Applet. П’ятий – Paint(), визначений AWT-класом Component.
Хід роботи
Запустіть середовище програмування Eclipse. Створіть новий Java проект з назвою LR_5.
Створіть новий клас з назвою Zavdannja5_1.
Наберіть наступний програмний код та ознайомтесь зі скелетною схемою аплета:
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) {
// другий показ вмістимого вікна
}
}
Наступна програма демонструє встановлення кольору тексту та фону:
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);
}
}
Кожний раз коли необхідно обновити інформацію відображену у вікні ,то викликається метод 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);
}
}
Крім відображення інформації в своєму вікні, апплет може також виводити повідомлення у вікні стану браузера або програми перегляду апплетів (appletviewer), яка виконує його. Для цього необхідно викликати метод showStatus() та вказати в якості аргумента рядок відображення:
.
.
.
public void paint(Graphics g) {
g.drawString(sms, 10, 30);
showStatus("Вікно статусу в якому виведено повідомлення");
}
.
.
.
Java дозволяє завантажувати в аплет дані із каталогу, який містить HTML-файл, що завантажив аплет(getDocumentBase()) і каталогу з якого був завантажений class-файл аплету (getCodeBase()). Ці методи повертають вказані каталоги у вигляді URL-об’єктів. Наступний програмний код демонструє використання цих методів: