Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 10 СМП.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
167 Кб
Скачать
☆

Аплет з елементами управління

Як ви бачили в розглянутому прикладі, аплети – це інтерактивні програми, які можуть обробляти повідомлення, які генеруються як системою, так і користувачем. Крім миші для взаємодії з користувачем можна розмістити у вікні вашого аплету елементи управління: кнопки, меню, списки і текстові вікна.

У лістингу 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-адреса недійсна.