Современные информационные технологии/2. Вычислительная техника и программирование

Мурадилова Г.С., Балгабаева Р.Н.

Ш.Уәлиханов атындағы Көкшетау мемлекеттік университеті, Қазақстан

ЖЕЛІЛІК ПРОГРАММАЛАУДАҒЫ JAVA-НЫҢ АППЛЕТТЕРІ

 

Апплет дегеніміз ол WWW–құжатының терезесінде браузер басқаруымен жұмыс істейтін, мүмкіндіктері шектеулі Java-ның арнайы программасы. Әдеттегідей апплеттерді HTML-құжаттарына (WWW–құжаттарының ең көп таралған түрі) кірістіреді.

Java-ның қосымшалары мен апплеттерінің арасында қағидашыл айырмашылығы бар: қосымша қолданушының компьютерінен тікелей іске қосылады және кез келген басқа программалармен бірдей компьютердің барлық ресурстарына қатынай алады. Ал апплет WWW–дан басқа серверден жүктеледі, сонымен бірге WWW–дың өз идеологиясына сай, жалпы жағдайда апплет жүктелінген сайтты сенімді деп санауға болмайды. Ал апплеттің өзінің WWW–да кез келген серверге мәліметтерді жіберу мүмкіндігі бар барлығы апплетті жасаушының алгоритіміне байланысты. Сондықтан, қолданушының компьютерінен құнды, құпия ақпаратты жоғалтудың немесе қастандық амалдарды жасаудың тәуекелділігінен аулақ болу  үшін, апплеттерден қосымшаларда бар көптеген мүмкіндіктер алынып тасталынды.

Апплеттермен жұмысты қолдау – әдеттегі апплеттердің java.applet пакетінде орналасқан кластардың стандартты кітапханасымен (core library), сонымен бірге Swing компоненттерін және/немесе Sun JFC (Java Foundation Classes) кітапханасын пайдаланатын апплеттердің  javax.swing.JApplet класымен орындалады.

Қарапайым апплетті жасау үшін java.applet.Applet класының мұрагері болатын (ол өзі java.awt.Panel класының мұрагері) класты жасау талап етіледі.

Апплет класында әдістер қатарын қайта анықтау талап етіледі:

public class Applet1 extends java.applet.Applet{

public void init(){

}

public void start(){

}

public void update(java.awt.Graphics g){

}

public void paint(java.awt.Graphics g){

}

public String getAppletInfo(){

return "Апплет туралы анықтамалық ақпарат";

}

public void stop(){

}

public void destroy(){

}

}

Қайта анықтауды керек ететін әдістерден басқа, Applet класында оны тексеретін және орындалу барысында оның күйін беретін  бірнеше әдістер бар:

getSize() – апплеттің өлшемін қайтарады. Ені мен биіктігін getSize().width және getSize().height түрінде алуға болады.

showStatus(String s) – s хабарламаны браузер статусының жолында көрсету.

AppletContext getAppletContext() –апплет шақырылған құжат туралы, сонымен бірге сол құжаттың басқа апплеттері туралы апплетпен ақпарат алу.

add(Component comp) – апплетке компонетті қосу.

AudioClip getAudioClip(URL url) – берілген url WWW-адресі бойынша  апплетпен аудиоклип алу. Осы аудиоклипке сілтеме беретін Java объектісі құрылады.

URL getDocumentBase() – апплет шақырылған  WWW-құжатының апплетпен адресін алу.

Көпшілігі Panel класынан мұратталған апплеттермен жұмыс істеуге арналған көптеген басқа әдістер бар.

Алғашқы кодтарымен қоса апплеттердің мысалдар  қатары JDK-дағы demo/applets бумасында келтірілген.

Апплеттің мысалы:

import java.awt.*;

public class Applet1 extends java.applet.Applet{

public void paint(java.awt.Graphics g){

g.setColor(Color.green);

g.fillRect(0,0,getSize().width - 1, getSize().height - 1);

g.setColor(Color.black);

g.drawString("Сізді апплетт қарсы алады!",20,20);

this.showStatus("Бұл апплеттің мысалы");

}

}

Апплет кірістірілген HTML-құжатының мысалы:

<html>

<body>

Бұл <p> апплетінің мысалы

<object

codebase="."

code="Applet1.class"

width=200

height=150

>

Апплеттермен жұмысты қолдамайтын браузерлерде көрінетін альтернативті мәтін

</object>

Егер HTML-мәтінінің аты example.html болса, онда апплетті іске қосу үшін Applet1.class файлын example.html файлы орналасқан бумаға орналастыру қажет. Одан кейін браузерде example.html файлын ашу керек.

Егер браузердің ашылған терезесінде апплет көрсетілмесе оны appletviewer программасында көруге болады. Ол үшін example.html және Applet1.class файлдары орналасқан бумасына өтіп, example.html параметірімен appletviewer-ді іске қосу керек. Мысалы, Windows® үшін командалық жолда appletviewer.exe example.html теріледі.