Page 25 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 25
การเขียนโปรแกรมจ าวาแ อพเพล็ต 12-15
โครงสร้างของโปรแกรมจาวาแอพเพล็ต เริ่มจากการสร้างแอพเพล็ตที่ต้องสืบทอดคุณสมบัติมาจากคลาส
Applet หรือคลาส JApplet ซึ่งส่วนมากจะเขียนโปรแกรมโดยการใช้คำ�สั่ง Import แล้วจึงใช้คำ�สั่ง extends ที่
บรรทัดก ารส ร้างค ลาส หรือตามต ัวอย่างโปรแกรม MyApplet ได้ใช้คำ�สั่ง extends โดยก ารระบุแพ็กเกจข องคลาส
รวมอยู่ด้วย นั่นคือ ไม่ได้ใช้ค ำ�สั่ง import
โปรแกรมจ าวาแ อพเพล็ตไม่มีเมธอด main() เหมือนก ับโปรแกรมจ าวาแ อพพลิเคชัน แต่จ ะท ำ�งานโดยการ
เรียกใช้เมธอด init() โครงสร้างของโปรแกรมจาวาแอพเพล็ตจึงต้องประกอบด้วยเมธอด คือ เมธอด init() เมธอด
start() เมธอด stop() และเมธอด destroy() ซึ่งโดยปกติเมธอดเหล่านี้มีแค่เพียงชื่อเมธอดที่โปรแกรมจะใช้เรียก
ปฏบิ ตั งิ านต ามล �ำ ดบั เทา่ นัน้ ไมม่ กี ารร ะบขุ ัน้ ต อนก ารท �ำ งานไวด้ ว้ ย ส�ำ หรบั ก ารใชง้ านจ ะต อ้ งเขยี นห รอื ส รา้ งร ายล ะเอยี ด
ของแต่ละเมธอดให้เหมาะสมกับงานเอาเอง ในการใช้งานอาจจะไม่ใช้โครงสร้างดังกล่าวนี้ก็ได้ แต่จะต้องกำ�หนด
รายล ะเอียดข องเมธอดและเรียกใช้งานให้ถูกต ้องด ้วยต นเอง
เมธอด init() เป็นเมธอดแรกที่ถูกเรียกใช้งานทันทีเมื่อโปรแกรมจาวาแอพเพล็ตถูกดาวน์โหลดโดย
เว็บเบร าว์เซอร์ เมธอด start() ถูกเรียกใช้ได้ก ็ต ่อเมื่อเมธอด init() ถูกเรียกใช้ง านแ ล้วเท่านั้น เมื่อเข้าส ู่ก ารท ำ�งานข อง
เว็บเพจใด ๆ เมธอด start() จะถูกเรียกใช้ง านด ้วย และเมื่อผ ู้ใช้ออกไปที่ห น้าเว็บเพจห น้าอ ื่น ๆ และมีก ารกล ับม ายัง
หน้าเดิม เมธอด start() จะถ ูกเรียกใช้อ ีกค รั้งหนึ่ง เมธอด stop() ถูกเรียกใช้ง านเมื่อม ีการย ้ายเว็บเพจไปแ สดงท ี่ห น้า
เพจอ ืน่ ๆ เมธอด destroy() ถกู เรยี กใชเ้ มือ่ ต อ้ งการอ อกจ ากโปรแ กร มเวบ็ เบร าวเ์ ซอร์ โดยเปน็ การบ อกใหค้ นื ท รพั ยากร
(resource) ต่าง ๆ ที่โปรแกรมจาวาแอพเพล็ตใช้งานอยู่ออกไป ทั้งนี้ เมธอด stop() ต้องถูกเรียกใช้ก่อนเมธอด
destroy() เสมอ สุดท้ายเมธอด paint() เป็นเมธอดท ี่ใช้ก ับก ารท ำ�งานแ บบก ราฟิก ซึ่งจ ะถ ูกเรียกใช้เมื่อต ้องการแ สดง
ผลลัพธ์บนจอภาพแบบกราฟิก
2. การส รา้ งและป ระมวลผ ลโปรแกรมจาวาแอพเพลต็
การพัฒนาโปรแกรมจาวาแอพเพล็ตนั้น มีความแตกต่างจากโปรแกรมจาวาแอพพลิเคชัน โดยที่โปรแกรม
จาวาแอพเพล็ตเมื่อเขียนโปรแกรมและทดสอบแล้ว ในการนำ�ไปใช้งานบนเว็บจะต้องเขียนลงในเอชทีเอ็มแอลเพจ
(HTML page) เมื่อผู้ใช้เรียกใช้งานเว็บเพจที่มีโปรแกรมจาวาแอพเพล็ตอยู่ด้วย จะทำ�ให้แอพเพล็ตถูกดาวน์โหลด
(download) เพื่อใช้ง านท ี่เครื่องค อมพิวเตอร์ข องผ ู้ใช้ การเขียนแ อพเพล็ตแ ท็ก (applet tag) ประกอบด ้วยไฟล์จ าวา
.class ซึ่งในบ างโปรแกรมจ าวาแ อพเพล็ตส ามารถท ี่จ ะม ีไฟล์ .class มากกว่าหนึ่งไฟล์ได้
การเขียนโปรแกรมจ าวาแ อพเพล็ตเป็นการส ร้างค ลาสย ่อยจ ากค ลาส Applet ของแพ็กเกจ Java.AWT หรือ
คลาส JApplet ของแ พ็กเกจ Javax.swing เพื่อน ำ�ไปใช้ง านบ นเว็บ การเขียนโปรแกรมจ าวาแ อพเพล็ตไม่จ ำ�เป็นต ้อง
มีเมธอด main() เหมือนก ับโปรแกรมจาวาแ อพพลิเคชัน เพราะก ารทำ�งานข องโปรแกรมจาวาแ อพเพล็ตจ ะใช้เมธอด
init() และท ำ�งานภายในโปรแ กรมเบร าว์เซอร์
การส ร้างโปรแกรมจาวาแ อพเพล็ตและประมวลผ ล ประกอบด้วย 4 ขั้นต อน ดังนี้
1) เขียนโปรแกรมจ าวาแอพเพล็ตแ ละจัดเก็บเป็นไฟล์ท ี่มีส่วนข ยายเป็น .java
2) ค อมไพล์โปรแกรมจากไฟล์ .java เป็นไฟล์ .class
3) เขียนจ าวาแอพเพล็ตลงในไฟล์ html (HTML document)
4) ประมวลผลจาวาแ อพเพล็ตภายในโปรแ กร มเบร าว์เซอร์