Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мережеві_технології_java_1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
426 Кб
Скачать
☆

3. Вказівки до виконання роботи

Дослідити функції текстових редакторі середовищ.. Ознайомитсь з елементами візуального програмуванння. Визначити номер версії та склад бібліотек Java.

4. Послідовність виконання роботи

  1. Розробити текст вхідного файлу;

  2. Виконати компіляцію;

  3. Створити візуальні структури для виводу результатів роботи, час роботи;

  4. Виконанти відлагодженння.

  1. Завдання до лабораторної роботи

  1. Оцінити можливості кожного з середовищ.

  2. Виконати порівняльний аналіз відомих засобів.

6 Контрольні питання

1. Що є JDK ?

2. Функції JBuilder?

3. Які відмінності між середовищами програмуванння?

4. Що є проміжний код Java ?

Лабораторна робота №2

Тема: побудова аплетів з графічними зображеннями .

Мета: освоїти елементи програмування мовою JAVA при розробленні аплетів, а також засвоїти класи і методи бібліотек java.awt, java.applet

Вступ

Аплети – це невеликі програми, які розробляються для передачі через Internet і виконуються на комп’ютері під управлінням сумісного з Java Web-броузера. Аплети транспортуються через Internet, автоматично встановлюються і виконуються як частина Web-документу. Аплети реагують на команди користувача і динамічно змінюються. Аплет на комп’ютері клієнта має обмежений доступ до ресурсів системи комп’ютера, що зменшує можливість зараження вірусами чи порушення цілісності даних.

  1. Побудова аплетів

1.1. Найпростіші аплети

Ааплети породжуються від класу Applet та імпортуються з пакетів java.applet і java.awt. Аплети виконуються під управлінням Web-броузера або програми перегляду аплетів, наприклад, appletviewer, що входить в комплект JDK.

Компільований аплет включається в HTML-файл з використанням тегу <applet> для виконання Java-сумісним броузером. На початку файлу з кодом аплету, як правило, наводяться коментарі для пояснення функції аплету, розмірів вікна тощо, наприклад,

/*

<applet code=”MyApplet” width=200 height=60>

</applet>

*/

якщо аплет MyApplet матиме вікно розмірами 200x60 пікселів.

Робота аплети керується подіями, на виникнення яких в процесі свого виконання чекає програма. Подіями є натискування клавіш, миші, взаємодія з елементами управління тощо. Класи пакету java.awt інформують аплет про виникнення події викликом обробника події, який реалізований в аплеті. Після виконання відповідного коду обробника управління передається до компонент java.awt. Взаємодію з аплетом ініціює користувач в довільний момент часу.

Скелетна схема аплету. Всі аплети, крім найбільш тривіальних, перевизначають набір методів для забезпечення сценарію роботи програми, а броузер чи програма перегляду взаємодіє з аплетом і керує його виконанням. Чотири основних методи – init(), start(), stop(), destroy() – визначені в класі Applet. П‘ятий метод, paint(), визначений класом Component з пакету java.awt. Всі зазначені методи мають реалізацію за замовчуванням. В аплетах не перевизначаються методи, які не використовуються. Всі п’ять методів можна зібрати в наступну скелетну схему:

import java.awt.*;

import java.applet.*;

/*

<applet code=”AppletSkel” width=300 height=100>

</applet>

*/

public class AppletSkel extends Applet {

public void init() { //викликається першим

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

}

public void start(){ //викликається другим для перезапуску аплету

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

}

public void stop() { //викликається, коли аплет треба зупинити

}

public void destroy(){ // аплет завершується , останній виконуваний метод

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

}

public void paint (Graphics g){ //вікно повинно бути перемальовано

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

}

}

Скелет нічого не виконує, але може компілюватись і бути запущеним.

Порядок, в якому викликаються методи, зображені в скелетній схемі. Коли аплет починає виконуватися, методи в такій послідовності: init(), start(),paint().

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

Розглянемо методи детальніше. Метод init призначений для ініціалізації змінних. Він викликається один раз за час виконання аплету. Метод start запускається відразу після init. Він також викликається для повторного запуску аплета після зупинки. Метод start запускається кожного разу, як HTML-документ аплету відображається на екрані. Якщо користувач покидає Web-сторінку і потім знов повертається, аплет запускається на виконання методом start .

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

Метод stop викликається, якщо Web-броузер при переході на іншу сторінку покидає HTML-документ з даним аплетом. Після виклику метода stop() , виконання аплету можна продовжитти. Метод stop використовується для зупинки потоків, які не потребують виконання, тобто коли аплет є невидимим. Робота потоків продовжується викликом методом start , якщо користувач повертається на сторінку.

Метод destroy викликається при необхідності звільнити пам’ять, виділеної для аплету. Аплет знищується. В даному методі необхідно звільнити ресурси, які використовувались аплетом. Перед виконанням destroy завжди викликається stop .

Наведемо приклад аплету, який встановлює колір фону голубим, колір переднього плану (символів) – червоним і видає повідомлення.

import java.awt.*;

import java.applet.*;

/*

<applet code=”Sample” width=300 height=50>

</applet>

*/

public class MyApplet extends Applet {

String msg; // стрічка для тексту

public void init () {

setBackground(Color.cyan); // колір фону

setForeground(Color.red); // колір переднього плану

msg=”Inside init() --”; // заповнення тексту

}

public void start(){

msg+=” Inside start() --”; // метод доповнює текст

}

public void paint(Graphics g){

msg+=” Inside paint().”; // метод доповнює текст

g.drawString(msg,10,30); // метод виводить текст

}

}

Наведений приклад аплету не містить методів stop та destroy, які завжди викликаються при закритті сторінки.