Java Applets เป็นแอปพลิเคชันขนาดเล็กที่เขียนด้วยภาษา Java โปรแกรมเหล่านี้ถูกฝังลงในเพจโดยตรงและถูกตีความและดำเนินการโดยเบราว์เซอร์ที่รองรับ Java (IE หรือ Nescape) เพื่อสร้างเอฟเฟกต์พิเศษ สามารถปรับปรุงความสามารถในการโต้ตอบและความสามารถในการดำเนินการแบบไดนามิกของเว็บเพจได้อย่างมาก เว็บเพจที่มี Applets เรียกว่าเพจที่ขับเคลื่อนด้วย Java และสามารถเรียกว่าหน้าเว็บที่สนับสนุน Java
เมื่อผู้ใช้เยี่ยมชมหน้าเว็บดังกล่าว Applet จะถูกดาวน์โหลดไปยังคอมพิวเตอร์ของผู้ใช้เพื่อดำเนินการ แต่เฉพาะในกรณีที่ผู้ใช้ใช้เว็บเบราว์เซอร์ที่เปิดใช้งาน Java เท่านั้น เนื่องจากแอปเพล็ตถูกดำเนินการบนคอมพิวเตอร์ของผู้ใช้ ความเร็วในการดำเนินการจึงไม่ถูกจำกัดด้วยแบนด์วิธเครือข่ายหรือความเร็วในการเข้าถึงโมเด็ม ผู้ใช้สามารถชื่นชมเอฟเฟกต์มัลติมีเดียที่สร้างโดยแอปเพล็ตบนหน้าเว็บได้ดีขึ้น
การใช้งานแอปพลิเคชันขนาดเล็กของ Applet ขึ้นอยู่กับคลาส Applet ในแพ็คเกจ java.applet เป็นหลัก ต่างจากแอปพลิเคชันทั่วไป แอปพลิเคชัน Applet จะต้องฝังอยู่ในหน้า HTML ก่อนจึงจะสามารถตีความและดำเนินการได้ ในเวลาเดียวกัน Applets สามารถรับพารามิเตอร์จากเว็บเพจและโต้ตอบกับเว็บเพจได้
รหัสไฟล์ HTML ของหน้าเว็บที่มีแอปเพล็ตจะต้องมีแท็กคู่กัน เช่น <applet> และ </applet> เมื่อเว็บเบราว์เซอร์ที่รองรับ Java พบแท็กคู่นี้ มันจะดาวน์โหลดโค้ดแอปเพล็ตที่เกี่ยวข้องและจัดเก็บ ดำเนินการแอปเพล็ตบนคอมพิวเตอร์
Applet เป็นโปรแกรม Java ขนาดเล็กซึ่งดาวน์โหลดและรันโดยเว็บเบราว์เซอร์ที่รองรับ Java โดยใช้ไฟล์ HTML ของ Applet นอกจากนี้ยังสามารถรันผ่าน appletviewer ของเครื่องมือพัฒนา Java ได้อีกด้วย โปรแกรม Applet แยกออกจากไฟล์ HTML ที่ใช้งานไม่ได้ ข้อมูลเกี่ยวกับแอพเพล็ตในไฟล์ HTML นี้ควรมีอย่างน้อยสามจุดต่อไปนี้:
1) ชื่อไฟล์ bytecode (ไฟล์ Java ที่คอมไพล์แล้ว โดยมี .class เป็นส่วนต่อท้าย)
2) ที่อยู่ของไฟล์ bytecode
3) แสดง Applet บน ทางหน้าเว็บ
การเพิ่มเนื้อหาที่เกี่ยวข้องกับแอปเพล็ตลงในไฟล์ HTML จะทำให้หน้าเว็บมีชีวิตชีวามากขึ้นเท่านั้น เช่น การเพิ่มเสียง ภาพเคลื่อนไหว และคุณสมบัติที่น่าสนใจอื่นๆ โดยจะไม่เปลี่ยนองค์ประกอบในไฟล์ HTML ที่ไม่เกี่ยวข้องกับแอปเพล็ต
(1) ขั้นตอนการพัฒนาโปรแกรม Applet
ขั้นตอนหลักของการพัฒนาโปรแกรม Applet มีดังนี้
1) ใช้เครื่องมือ เช่น EDIT หรือ Windows Notepad เป็นตัวแก้ไขเพื่อสร้างโปรแกรมต้นฉบับ Java Applet
2) แปลงโปรแกรมต้นทาง Applet ให้เป็นไฟล์ bytecode
3) เตรียมไฟล์ HTML โดยใช้คลาส ใส่คำสั่ง <APPLET> ที่จำเป็นในไฟล์ HTML
ต่อไปนี้เป็นตัวอย่าง HelloWorld ที่ง่ายที่สุดที่จะแสดงกระบวนการพัฒนาของโปรแกรม Applet:
(1) แก้ไขซอร์สไฟล์ java ของ Applet
เพื่อสร้างโฟลเดอร์ C:ghq และสร้างซอร์สโค้ดของไฟล์ HelloWorld.java ในโฟลเดอร์นี้
เป็น ดังต่อไปนี้:
นำเข้า java.awt.*;
นำเข้า java.applet.*;
HelloWorld คลาสสาธารณะขยาย Applet //Inherit คลาส Applet ซึ่งเป็นคุณลักษณะของโปรแกรม Applet Java
-
สีโมฆะสาธารณะ (กราฟิก g)
-
g.drawString("สวัสดีชาวโลก!",5,35);
-
-
บันทึกโปรแกรมข้างต้นไว้ในไฟล์ C:ghqHelloWorld.java
(2) ในการคอมไพล์ Applet
และคอมไพล์ไฟล์ต้นฉบับ HelloWorld.java คุณสามารถใช้คำสั่ง JDK ต่อไปนี้:
C:ghq>javac HelloWorld.java<Enter>
หมายเหตุ: หากโปรแกรมต้นฉบับที่เขียนละเมิดกฎไวยากรณ์ของภาษาการเขียนโปรแกรม Java คอมไพลเลอร์ Java จะแสดงข้อความแสดงข้อผิดพลาดทางไวยากรณ์บนหน้าจอ ไฟล์ต้นฉบับต้องไม่มีข้อผิดพลาดทางไวยากรณ์ใดๆ เพื่อให้คอมไพเลอร์ Java สามารถแปลงโปรแกรมต้นฉบับเป็นโปรแกรมไบต์โค้ดที่สามารถเรียกใช้งานโดยแอปเพล็ตวิวเวอร์และเบราว์เซอร์ได้สำเร็จ
หลังจากคอมไพล์แอปเพล็ต Java สำเร็จแล้ว ไฟล์โค้ดไบต์ตอบกลับ ไฟล์ HelloWorld.class จะถูกสร้างขึ้น ใช้ตัวจัดการทรัพยากรหรือคำสั่ง DIR เพื่อแสดงรายการไดเร็กทอรี คุณจะพบว่ามีไฟล์เพิ่มเติมชื่อ HelloWorld.class ในไดเร็กทอรี C:ghq
(3) สร้างไฟล์ HTML
ก่อนที่จะรัน HelloWorld.class ที่สร้างขึ้น คุณต้องสร้างไฟล์ HTML โปรแกรมดูแอปเพล็ตหรือเบราว์เซอร์จะเข้าถึง Applet ที่สร้างขึ้นผ่านไฟล์นี้ ในการรัน HelloWorld.class คุณต้องสร้างไฟล์ชื่อ HelloWorld.html ซึ่งมีคำสั่ง HTML ต่อไปนี้
<HTML>
<TITLE>สวัสดีชาวโลก! แอปเพล็ต</TITLE>
<แอพเพล็ต
CODE="JavaWorld.class"
กว้าง=200
ความสูง=100>
</แอปเพล็ต>
</HTML>
ในตัวอย่างนี้ คำสั่ง <APPLET> ระบุชื่อไฟล์คลาส Applet bytecode และขนาดของหน้าต่างเป็นพิกเซล แม้ว่าชื่อไฟล์ที่ใช้สำหรับไฟล์ HTML ที่นี่คือ HelloWorld.HTML ซึ่งสอดคล้องกับชื่อของ HelloWorld.java แต่การติดต่อกันนี้ไม่จำเป็น ไฟล์ HTML สามารถตั้งชื่อด้วยชื่ออื่นได้ (เช่น Ghq.HTML) อย่างไรก็ตาม การรักษาความสัมพันธ์ที่สอดคล้องกันระหว่างชื่อไฟล์สามารถนำมาซึ่งความสะดวกในการจัดการไฟล์
(4) ดำเนินการ HelloWorld.html
หากคุณใช้ appletviewer เพื่อรัน HelloWorld.html คุณจะต้องป้อนบรรทัดคำสั่งต่อไปนี้:
C:ghq>appletviewer JavaWorld.html<ENTER>
ตามที่เห็น คำสั่งนี้เริ่มต้น appletviewer และระบุไฟล์ HTML ซึ่งมีคำสั่ง <APPLET> ที่สอดคล้องกับ HelloWorld
หากคุณใช้เบราว์เซอร์เพื่อเรียกใช้ HelloWorld Applet คุณจะต้องป้อนที่อยู่ URL ของไฟล์ HTML ในแถบที่อยู่ของเบราว์เซอร์
ณ จุดนี้ กระบวนการทั้งหมดของการพัฒนาและรันโปรแกรม Applet สิ้นสุดลงแล้ว (รวมถึงไฟล์ต้นฉบับ java, ไฟล์คลาสที่คอมไพล์, ไฟล์ html และการรันด้วย appletviewer หรือเบราว์เซอร์)
(2) คลาส Applet
คลาส Applet เป็นคลาสพื้นฐานสำหรับแอปพลิเคชัน Applet ทั้งหมด และ Java Applet ทั้งหมดจะต้องสืบทอดคลาสนี้ ดังที่แสดงด้านล่าง
นำเข้า java.applet.*;
คลาสสาธารณะ OurApplet ขยาย Applet
-
-
-
}
มีตัวสร้างคลาส Applet เพียงตัวเดียวเท่านั้น ได้แก่ public Applet()
Applet ใช้วิธีการพื้นฐานมากมายต่อไปนี้แสดงวิธีการทั่วไปและการใช้งานในคลาส Applet
โมฆะสาธารณะขั้นสุดท้าย setStub (AppletStub stub)
//Set the Applet's stub.stub เป็นโค้ดบิตที่แปลงพารามิเตอร์ระหว่าง Java และ C และส่งกลับค่าที่ระบบกำหนดโดยอัตโนมัติ
public boolean isActive(); // ตรวจสอบว่า Applet ทำงานอยู่หรือไม่
URL สาธารณะ getDocumentBase(); // ดึงวัตถุที่แสดงถึงไดเร็กทอรีไฟล์ที่ Applet ทำงาน
URL สาธารณะ getCodeBase(); // รับที่อยู่ URL ของรหัส Applet
public String getParameter(String name); // รับค่าของพารามิเตอร์ที่ระบุโดยชื่อของ Applet
AppletContext สาธารณะ getAppletContext(); // ส่งคืนเบราว์เซอร์หรือผู้สังเกตการณ์แอปเพล็ต
ปรับขนาดโมฆะสาธารณะ (ความกว้าง int, ความสูง int); // ปรับขนาดหน้าต่างของ Applet ที่ทำงานอยู่
ปรับขนาดโมฆะสาธารณะ (มิติ d); // ปรับขนาดของหน้าต่างที่แอปเพล็ตทำงาน
public void showStatus(String msg); // แสดงข้อมูลที่ระบุในแถบสถานะของเบราว์เซอร์
รูปภาพสาธารณะ getImage(URL url); // โหลดรูปภาพตามที่อยู่ที่ระบุโดย url
รูปภาพสาธารณะ getImage (URL url, ชื่อสตริง); // โหลดรูปภาพตามที่อยู่และชื่อไฟล์ที่ระบุโดย url
Public AudioClip getAudioClip(URL url); // รับไฟล์เสียงตามที่อยู่ที่ระบุโดย url
Public AudioClip getAudioClip(URL url, String name); // รับเสียงตามที่อยู่และชื่อไฟล์ที่ระบุโดย url
public String getAppletInfo(); // ส่งคืนข้อมูลผู้เขียน เวอร์ชัน และลิขสิทธิ์เกี่ยวกับแอปพลิเคชัน Applet
สตริงสาธารณะ [] [] getParameterInfo ();
// ส่งกลับอาร์เรย์สตริงที่อธิบายพารามิเตอร์ Applet โดยทั่วไปอาร์เรย์จะมีสามสตริง: ชื่อพารามิเตอร์ ประเภทของค่าที่พารามิเตอร์ต้องการ และคำอธิบายของพารามิเตอร์
การเล่นเป็นโมฆะสาธารณะ (URL url); // โหลดและเล่นคลิปเสียงที่ระบุโดย url
โมฆะสาธารณะทำลาย (); // เลิกทำแอปเพล็ตและทรัพยากรที่ครอบครอง หาก Applet ทำงานอยู่ ให้ยุติการทำงานของ Applet ก่อน
)
วิธีการพื้นฐานในการควบคุมสถานะการทำงานของ Applet
วิธีการพื้นฐานสี่วิธีในคลาส Applet ใช้เพื่อควบคุมสถานะการทำงาน: init(), start(), stop(), destroy()
ส่วนใหญ่แล้ว สำหรับ Applet ดำเนินการเริ่มต้นบางอย่างระหว่างการทำงานปกติ เมื่อระบบเรียก Applet ระบบจะเรียกใช้เมธอดนี้ก่อน โดยปกติแล้ว การดำเนินการต่างๆ เช่น การส่งพารามิเตอร์จากหน้าเว็บไปยังแอปเพล็ต และการเพิ่มส่วนประกอบพื้นฐานของอินเทอร์เฟซผู้ใช้ สามารถทำได้ด้วยวิธีนี้
ระบบเมธอด start()
จะเรียกเมธอด start() โดยอัตโนมัติหลังจากเรียกเมธอด init() ยิ่งไปกว่านั้น ทุกครั้งที่ผู้ใช้ออกจากหน้าแรกที่มี Applet แล้วกลับมา ระบบจะดำเนินการเมธอด start() อีกครั้ง ซึ่งหมายความว่าสามารถดำเนินการเมธอด start() ได้หลายครั้ง ซึ่งแตกต่างจากเมธอด init() ดังนั้นคุณสามารถใส่โค้ดที่คุณต้องการรันเพียงครั้งเดียวในเมธอด init() คุณสามารถเริ่มเธรดด้วยเมธอด start() เช่น การทำภาพเคลื่อนไหวต่อ เสียง ฯลฯ
เมธอด stop()
จะถูกดำเนินการเมื่อผู้ใช้ออกจากหน้าที่เป็นที่ตั้งของ Applet ดังนั้นจึงสามารถดำเนินการได้หลายครั้ง ช่วยให้คุณสามารถหยุดงานบางอย่างที่ใช้ทรัพยากรระบบเมื่อผู้ใช้ไม่สนใจ Applet เพื่อไม่ให้กระทบต่อความเร็วการทำงานของระบบและไม่จำเป็นต้องเรียกวิธีนี้ด้วยตนเอง หาก Applet ไม่มีภาพเคลื่อนไหว เสียง และโปรแกรมอื่นๆ ก็มักจะไม่จำเป็นต้องใช้วิธีนี้
เมธอด destroy()
แตกต่างจากเมธอด Finalize() ของอ็อบเจ็กต์ Java เรียกเมธอดนี้เมื่อปิดเบราว์เซอร์เท่านั้น Applet ถูกฝังอยู่ในไฟล์ HTML ดังนั้นเมธอด destroy() ไม่สนใจว่า Applet จะถูกปิดเมื่อใด แต่จะถูกดำเนินการโดยอัตโนมัติเมื่อปิดเบราว์เซอร์ ในเมธอด destroy() โดยทั่วไปคุณสามารถร้องขอให้กู้คืนทรัพยากรอิสระที่ไม่ใช่หน่วยความจำที่ถูกครอบครองได้ (หากปิดเบราว์เซอร์ในขณะที่ Applet ยังคงทำงานอยู่ ระบบจะดำเนินการเมธอด stop() ก่อน จากนั้นจึงดำเนินการเมธอด destroy()
(2) คำอธิบายพารามิเตอร์ที่เกี่ยวข้องของแอปพลิเคชัน Applet
ใช้ Applet เพื่อรับพารามิเตอร์ที่ส่งผ่านจาก HTML ต่อไปนี้เป็นคำอธิบายโดยย่อของพารามิเตอร์เหล่านี้:
* ค่าสถานะ CODE
ค่าสถานะ CODE ระบุชื่อคลาส Applet; ค่าสถานะ WIDTH และ HEIGHT ระบุขนาดพิกเซลของหน้าต่าง Applet
* ค่าสถานะ
CODEBASE ระบุที่อยู่ URL ของ Applet URL ตำแหน่งของทรัพยากรสากลของ Applet ซึ่งสามารถเป็นที่อยู่ที่แน่นอนได้ เช่น www.sun.com นอกจากนี้ยังอาจเป็นที่อยู่แบบสัมพันธ์ที่สัมพันธ์กับไดเร็กทอรีที่มี HTML ปัจจุบันอยู่ เช่น /AppletPath/Name หากไฟล์ HTML
ไม่ได้ระบุการตั้งค่าสถานะ CODEBASE เบราว์
เซอร์จะใช้ URL เดียวกันกับไฟล์ HTML
แม้ว่า Java จะได้รับความนิยมอย่างมากใน WWW แต่ไม่ใช่ทุกเบราว์เซอร์ที่รองรับ หากเบราว์เซอร์ไม่สามารถเรียกใช้ Java Applets ได้ ก็จะใช้ข้อมูลข้อความ ที่ระบุโดยแฟล็ก ALT จะปรากฏขึ้นเมื่อใช้คำสั่ง APPLET
* ALIGN flag
สามารถใช้เพื่อควบคุมตำแหน่งที่หน้าต่าง Applet จะแสดงในหน้าต่างเอกสาร HTML เช่นเดียวกับคำสั่ง HTML<LMG> ค่าที่ระบุโดย ตั้งค่าสถานะ ALIGN อาจเป็นด้านบนหรือด้านล่างก็ได้
* แฟล็ก VSPACE และ HSPACE
ระบุขนาดของแถบว่างแนวนอนและแนวตั้งที่เบราว์เซอร์แสดงรอบๆ หน้าต่าง Applet เป็นพิกเซล ใช้แฟล็กนี้เพื่อเว้นช่องว่างด้านบน และด้านล่างหน้าต่าง Applet พื้นที่ว่าง 50 พิกเซล เหลือพื้นที่ 25 พิกเซลทางซ้ายและขวา:
* แฟล็ก NAME
แฟล็ก NAME จะให้ชื่อที่ระบุแก่อินสแตนซ์ปัจจุบันของ Applet เมื่อเบราว์เซอร์ทำงานตั้งแต่สองตัวขึ้นไปที่ ในเวลาเดียวกัน แต่ละแอปเพล็ตสามารถทำได้ อ้างอิงหรือแลกเปลี่ยนข้อมูลระหว่างกันโดยใช้ชื่อ หากละเว้นแฟล็ก NAME ชื่อของแอปเพล็ตจะสอดคล้องกับชื่อคลาส
*
ความเป็นสากลของการตั้งค่าสถานะ PARAM เป็นหนึ่งในเป้าหมายที่ผู้ใช้หรือโปรแกรมเมอร์ติดตาม ความสมบูรณ์ของงานต่างๆ ของ Applet ถือเป็นการแสดงความสามารถรอบด้านอย่างเป็นรูปธรรม การได้รับข้อมูลจากไฟล์ HTML เป็นวิธีที่มีประสิทธิภาพในการปรับปรุงความสามารถรอบด้านของ
Applet อเนกประสงค์ แอปเพล็ตสามารถรับข้อมูลข้อความที่ต้องเลื่อนจากไฟล์ HTML ด้วยวิธีนี้ หากคุณต้องการแสดงชื่อของบริษัทอื่น คุณไม่จำเป็นต้องแก้ไข Java Applet เอง คุณเพียงแค่ต้อง แก้ไขไฟล์ HTML
สามารถใช้การตั้งค่าสถานะ PARAM ในไฟล์ HTML ระบุพารามิเตอร์ในรูปแบบดังต่อไปนี้:
PARAM Name="name" Value="Liter"
Java Applet สามารถเรียกใช้เมธอด getParameter เพื่อรับค่าพารามิเตอร์ที่ตั้งไว้ใน ไฟล์ HTML.