Bu maqolada Java dasturlash tili appletlari bilan, html gippermatn tilini birgalikda ishlatishni ko‘rsatib o‘taman. Bu orqali biz, veb sahifada java kodlarini ishlatamiz va kerak bo‘lsa, java kodidagi parametrlarni html tegi orqali o‘zgartiramiz.

Maqola, html teglariga bag‘ishlanganligi uchun, java appletlarini tushuntirib o‘tmayman. Faqat shuni aytishim mumkinki, java applet bu — java dasturlash tilida yozilgan bayt kod bo‘lib, brauzer orqali ishga tushirilib, natija olinadigan dasturdir. Java appletlarini brauzer ko‘rsatib beraolishi uchun, java plagin o‘rnatish lozim(JDK), lekin eskiroq brauzerlar umuman ko‘rsata olmasligi ham mumkin.

Demak, maqola java appletlari bilan ishlash uchun mo‘ljallangan teglarga bag‘ishlanadi. Bularning biri «applet«, ikkinchisi «param» teglaridir. «param» tegini «object» tegi bilan ham ishlatish mumkin. Misol ko‘ramiz, bu misolda yaratilayotgan barcha fayllar(hello.java, hello.class, html fayl) bitta papkada bo‘lishi lozim.

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>APPLET</title>
  </head>
  <body>
<applet code="hello.class" width="100" height="100"> Brauzer appletlarni ko'rsataolmaydi
      </applet>
  </body>
</html>

Kodda «applet» tegi orqali «hello.class» nomli klass chaqirilmoqda. Bu klassni «javac» orqali yaratamiz, *.java nomli faylni *.class nomiga o‘zgartirishni «Dars №2«da ko‘rsatib o‘tganman, shunday bo‘lsa ham yana bir bor takrorlayman. Dastlab, «hello.java» nomli fayl yaratib, ichiga quyidagi kodlarni yozamiz:

import java.applet.*;
import java.awt.*;
public class hello extends Applet {
   public void paint(Graphics g) {
     g.drawString("Hello World", 20, 20);
   }
}

Keyin, bu faylni bayt-kodga aylantiramiz, ya’ni «Командная строка«ga quyidagi buyruqni yozamiz.

javac hello.java

shundan so‘ng, «hello.class» nomli fayl hosil bo‘ladi. YUqoridagi html kodga aynan shu faylni qo‘shdik. Natija esa quyidagicha:

html18_1

<applet> tegi — veb sahifaga appletlarni qo‘shish uchun ishlatilar ekan, uning attributlari quyidagilardan iborat:

align — qo‘shilayotgan appletni tekislash, qiymatlari: bottom, left, middle, right, top;

alt — applet haqida ma’lumot berish uchun yozuv yozish, sichqoncha applet ustiga oborilganda shu yozuv chiqadi;

code — veb sahifaga kiritilayotgan applet nomi va kengaytmasini berish uchun attribut, kengaytma «.class» bo‘ladi, to‘liq adres berish lozim. Agar applet fayli, sahifa fayli bilan bitta papkada bo‘lsa, applet nomi va kengaytasi beriladi holos(to‘liq adres berishga hojat yo‘q).

<applet code=»/applets/Clock.class»></applet>

codebase — kiritilayotgan appletning papkagacha bo‘lgan adresini shu attribut orqali berib, «code» attributida faqat fayl nomi ko‘rsatish mumkin.

<applet code=»Clock.class» codebase=»/applets/»></applet>

height — applet balandligi, piksel yoki foizda beriladi.

hspace — applet atrofida qoldiriladigan gorizontal yo‘nalishdagi bo‘sh joy.

vspace — applet atrofida qoldiriladigan vertikal yo‘nalishdagi bo‘sh joy.

width — applet uzunligi, shu uzunlikkacha bo‘lgan orqaliqda applet natijasi chiqadi, piksel yokm foizda beriladi.

Java appletlarini veb sahifaga bog‘lashni ko‘rib chiqdik, endi, appletdagi o‘zgaruvchi parametrlarini, html tegi orqali o‘zgartirishni ko‘rsataman. Buning uchun biz «param» nomli tegdan foydalanamiz. Demak, dastlab misol ko‘ramiz, java appleti kodini keltirib o‘taman, bu kod «HelloWorld.class» nomi bilan hosil qilinishi lozim.

import java.applet.*;
import java.awt.*;
public class HelloWorld extends Applet {
   public void paint(Graphics g) {
      String myFont   = getParameter("font");
      String myString = getParameter("string");
      int mySize      = Integer.parseInt(getParameter("size"));
      Font f = new Font(myFont, Font.BOLD, mySize);
      g.setFont(f);
      g.setColor(Color.red);
      g.drawString(myString, 20, 20);
   }
}

Bu kodda bir necha o‘zgaruvchilar mavjud(myFont, myString, mySize), bu o‘zgaruvchilarning parametrlari(font, string, size) ham har xil. Bu parametrlarga «param» tegi orqali qiymat beramiz.

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>APPLET</title>
  </head>
  <body>
<applet code="HelloWorld.class" width="500" height="500">
    <PARAM NAME="size"    VALUE="24">
    <PARAM NAME="string"  VALUE="Hello, world ... it's me. :)">
    Brauzer Java appletlarni yuklay olmaydi!
  </applet>
  </body>
</html>

YUqoridagi koddan ko‘rinib turibdiki, «applet» tegi orqali «HelloWorld.class» appleti veb sahifaga bog‘lanmoqda va «param» tegi orqali appletning «size» va «string» parmetrlariga qiymat berilmoqda. Natija esa quyidagicha:

html18_2

biz uchun yangi bo‘lgan «param» tegi attributlari bilan tanishamiz.

name — appletda ishlatilgan parametr nomi.

type — qanday tipdagi applet ishlatilishini ko‘rsatish, odatda bu attribut ishlatilmaydi, brauzer o‘zi bilib oladi.

value — «name» orqali aniqlashtirilgan parametr nomiga qiymat berish.

valuetype — parametrga berilayotgan qiymat  turini aniqlashtirish. Qiymatlari:

*data — qiymat qator tipida(odatiy qiymati).

*object — «id» orqali berilgan ob’yekt identifikatori.

*ref — URL ko‘rinishidagi qiymat.

Endi, «param» tegini «object» tegi bilan ishlatamiz. «Object» tegi orqali ham java appletlarini veb sahifaga joylashtirish mumkin.

<object codetype="application/java" classid="java:HelloWorld.class" width=300 height=300>
    <PARAM NAME="size"    VALUE="24">
    <PARAM NAME="string"  VALUE="Hello, world ... it's me.   :)">
    Brauzer Java appletlarni yuklay olmaydi!
</object>