- •Лекція 10. Аплети
- •1. Загальні відомості про аплети
- •Аплети в порівнянні з додатками
- •2. Створення аплетів
- •Включення аплету в html-документ
- •Необов'язкові атрибути аплету
- •Найпростіший Java-аплет
- •Аналіз роботи аплету Draw Applet
- •Опис роботи аплету Internet Applet
- •Аплет з елементами управління
- •Опис методу init()
- •Опис методу action()
Аплет з елементами управління
Як ви бачили в розглянутому прикладі, аплети – це інтерактивні програми, які можуть обробляти повідомлення, які генеруються як системою, так і користувачем. Крім миші для взаємодії з користувачем можна розмістити у вікні вашого аплету елементи управління: кнопки, меню, списки і текстові вікна.
У лістингу 10.11 показаний вихідний текст даного аплету, а в лістингу 10.12 – HTML-документ для його запуску. Перед запуском цього аплету – (для чого потрібно завантажити його HTML-текст в Java-сумісний браузер) з'єднаєтеся з мережею Internet. Потім, після запуску аплету, ви побачите вікно, аналогічне показаному на рис. 10.4, де зображений аплет InternetApplet, що працює в середовищі браузера Netscape Navigator. Досить клацнути по одній з кнопок з'єднань, і ви автоматично установите з'єднання з Web-вузла, пов'язаного з цією кнопкою. На рис. 10.5 показаний екран, який ви отримаєте, якщо клацнете по кнопці CNet.
Лістинг 10.11. InternetApplet.Java. Аплет IntemetApplet
import java.awt.*;
import java.applet.*;
inport java.net.*;
public class IntemetApplet extends Applet
{
boolean badURL;
public void init()
{
GridLayout layout = new GridLayout(2, 4, 10, 10);
setLayout(layout);
Font font = new Font("TimesRoman", Font.PLAIN, 24);
setFont(font);
Button button = new Button("Sun");
add(button);
button = new Button("Netscape");
add(button);
button = new Button("Microsoft");
add(button);
button = new Button("Maanillan");
add(button);
button = new Button("Time");
add (button);
button = new Button("CNet");
add(button);
button = new Button("Borland");
add(button);
button = new Button("Yahoo");
add(button);
badURL = false;
}
public void paint(Graphics g)
{
if (badURL)
g.drawstring("Bad URL!", 60, 130); //Невірна URL-адреса
}
public boolean action(Event evt, Object arg)
{
String str;
if (arg ==Sun")
str = "http://www.sun.com";
else if (arg == Netscape")
str = "http://wvw.netscape.cam";
else if (arg == Microsoft")
str = "http://www.microsoft.com";
else if (arg == "Macmillan")
str = "http://www.mcp.com";
else if (arg == "Time")
str = "http://www.pathfinder.com";
else if (arg == "CNet")
str = "http://www.cnet.com";
else if (arg == "Borland")
str = "http://www.borland.com";
else
str = "http://www.yahoo.com";
try
{
URL url = new URL(str);
AppletContext context = getAppletContext();
context.showDocument(url);
}
catch (MalformedURLException e)
{
badURL = true;
repaint();
}
return true;
}
}
Лістинг 10.12. INTERNETAPPLET.HTML. HTML-документ для аплету InternetApplet
<title>Applet Test Page</title>
<hl>Applet Test Page</hl>
<applet
code="InternetApplet.class"
width=500
height=150
name="Interne t Applet">
</applet>
Рис. 10.4. В аплеті InternetApplet для швидкого приєднання до восьми різних Web-вузлів використовуються кнопки
Рис. 10.5. Кнопка CNet з’єднує з вузлом CNet
Опис роботи аплету Internet Applet
Розглянемо вихідний код аплету. Перші три оператори дозволяють програмі звертатися до класів, що зберігаються в пакетах awt, applet і net:
import java.awt. *;
import java.applet. *;
import java.net. *;
Ви вже знайомі з пакетами awt і applet. Пакет net містить класи, що дозволяють виходити в мережу Internet.
Головний клас аплету, породжений від класу Applet, починається з рядка
public class InternetApplet extends Applet
Потім оголошується єдине поле аплету InternetApplet:
boolean badURL;
Змінна badURL в програмі використовується для повідомлення аплету про те, що обрана в даний момент URL-адреса недійсна.
