МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІНСТИТУТ ПІСЛЯДИПЛОМНОЇ ОСВІТИ
/
ЗВІТ
про виконання лабораторної роботи №2
«Побудова аплетів з графічними зображеннями»
Тема роботи: Побудова аплетів з графічними зображеннями.
Мета роботи: Освоїти елементи програмування мовою JAVA при розробленні аплетів, а також засвоїти класи і методи бібліотек java.awt, java.applet.
Теоретичні відомості
Java можна використовувати, щоб створювати два типи програм - програми та аплети. Додатки - це самостійні Java-програми, а програми, що працюють під управлінням інших програм (Web-броузерів), називаються апплетами. Родзинкою Java є здатність створювати аплети.
При роботі з програмами , отриманими з мережі , користувач може зіткнутися з неприємними наслідками їх роботи. Існує безліч вірусів , " троянських коней" або просто неякісних програм , які можуть просто напаскудити вам і відформатувати диск C: , наприклад.
Аплет автоматично запускається , при завантаженні web -сторінки , тому аплети вимагають підвищеної режиму безпеки . Для забезпечення захисту , творцями Java був розроблений механізм , який отримав назву " пісочниці " . Він обмежує доступ " ненадійних " аплетів до комп'ютера користувача . Якщо розробнику аплету знадобилося розширити можливості аплету - йому необхідно поставити цифровий підпис, тоді аплет сприймається броузером як " надійний" , і ви самі вирішуєте : довіряти аплету чи ні. Хоча цифровий підпис не забезпечує вашої безпеки , ви можете встановити походження аплету, при виникненні проблем." Пісочниця" включає в себе три основних механізми захисту:
перевірки на рівні JVM ;
захист на рівні мови ;
інтерфейс JavaSecurity .
Аплети в бібліотеці Java представлені стандартним класом Applet , але для користувача не представляє інтересу створення екземпляра цього класу. Для того щоб надати аплету осмисленість, необхідно створити свій клас , що є похідним від класу Applet . Від цього класу вони успадковують всі необхідні методи для правильної завантаження і роботи аплету. Таким чином, користувач може перевизначити ті методи , які йому необхідні. Основні з них , які управляють створенням і виконанням аплету на web - сторінці :
Метод
Дія
init ( )
Викликається автоматично при першому запуску аплета , для проведення ініціалізації та розміщення компонентів на формі.
start ( )
Викликається кожен раз при переміщенні аплету у видиму зону. Викликається також після методу init ( ) .
stop ( )
Викликається кожен раз , коли аплет покидає видиму зону.
destroy ( )
Викликається , коли аплет вивантажується зі сторінки , для того , щоб він зміг провести звільнення своїх ресурсів.
2. Умова завдання: Створити аплет, що малює круг певного кольору, а після подійного кліку мишкою колір змінюється.
3. Виконання роботи
Код програми написано в блокноті та відкомпільовано за допомогою Java Development Kit, скорочено JDK — безплатно розповсюджуваний Oracle (раніше Sun) комплект розробника застосунків на мові Java, який включає до себе компілятор Java (javac), стандартні бібліотеки класів Java, приклади, документацію, різноманітні утиліти і виконавчу систему Java (JRE). В склад JDK не входить інтегроване середовище розробки на Java (IDE), тому розробник, що використовує тільки JDK, повинен використовувати текстовий редактор і компілювати та виконувати свої програми через утиліти командного рядка.
4. Код JAVA-аплету.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JPanelDrawWithClick extends JFrame
{
public static void main(String args[])
{
new JPanelDrawWithClick();
}
public JPanelDrawWithClick()
{
setSize(300, 300); //Величина вікна
setTitle("Круг з випадковими кольорами"); //Титулка
MyJPanel panel = new MyJPanel();
Container container = getContentPane();
container.add(panel);
setVisible(true);
}
//Inner Class
public class MyJPanel extends JPanel implements MouseListener
{
public MyJPanel()
{
addMouseListener(this);
}
public void paintComponent(Graphics graphics) //Випадковий вибір кольору
{
int r= (int)Math.round((Math.random()*255));
int g= (int)Math.round((Math.random()*255));
int b= (int)Math.round((Math.random()*255));
graphics.setColor(new Color(r,g,b)); //Встановлення кольору
graphics.fillOval(30,30,200,200); //Перемалювати коло
}
public void mousePressed(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
public void mouseEntered(MouseEvent e)
{}
public void mouseExited(MouseEvent e)
{}
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2) { //Якщо подвійний клік перемалювати
repaint();}
}
}
}
Створимо простеньку html-сторінку для відображення та виконання нашого аплету:
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="000000">
<CENTER>
<APPLET code = "JPanelDrawWithClick.class" width = "500"
height = "300">
</APPLET>
</CENTER>
</BODY>
</HTML>
5. Результат виконання програми
Відкомпілюємо java-код, за допомогою утиліти javac (рис.1) в проміжний код JVM та запустимо та переглянемо результат завершеної роботи, за допомогою утиліти appletviewer (рис.2).
Рис.1. Виконання утиліт javac та appletviewer
/
Рис.2. Запуск виконання аплету
Після подвійного кліку мишкою колір круга змінюється (рис.3):
/
Рис.3. Колір круга змінюється
Відповідно після кожного наступного подвійного кліку мишкою колір змінюється (рис. 4):
/
Рис. 4. Колір змінюється на випадковий
І ще… (рис.5):
/
Рис.5. Колір далі змінюється
Висновок.
Виконуючи дану лабораторну роботу я ознайомився з базовими принципами програмування мовою JAVA, компілювання та виконання JAVA-аплетів, освоїв принципи побудови аплетів, а також засвоїв класи і методи бібліотек java.awt, java.applet.