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) 	​ประมวลผล​จาวาแ​ อพเพล็ต​ภายใน​โปรแ​ กร​ ม​เบร​ าว์เ​ซอร์
   20   21   22   23   24   25   26   27   28   29   30