Page 50 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 50
12-40 การโปรแกรมค อมพิวเตอร์ขั้นส ูง
4. การเขียนโปรแกรมจ าวาแ อพเพล็ตเพ่ือแสดงภาพแ ละการใชง้ านคลาสอมิ เมจไ อคอน
4.1 การใช้งานคลาสอิมเมจไอคอน (ImageIcon class) เพื่อแสดงรูปภาพสามารถทำ�ได้ง่ายกว่าการใช้
คลาสอิมเมจ และยังสามารถใช้ทุก ๆ คำ�สั่งของคลาสอิมเมจได้ด้วย การใช้งานคลาสอิมเมจไอคอนสามารถสร้าง
ออบเจ็กต์และจัดวางอิมเมจไอคอนบนคอมพิวเตอร์ได้เช่นเดียวกับการใช้ JPanel, JLabel, JButton บนคลาส
JApplet หรือค ลาส JFrame
ตัวอย่างป ระโยคคำ�สั่งก ารสร้างป ุ่มด ้วย JButton โดยการใช้ไฟล์รูปภาพ arrow.gif เป็นด ังนี้
ImageIcon arrowPicture = new ImageIcon("arrow.gif");
JButton arrowButton = new JButton(arrowPicture);
การแ สดงร ูปภาพด ้วย ImageIcon สามารถใชเ้มธอด paintIcon() ซึ่งม คี ่าอ าร์กิวเมนตจ์ ำ�นวน 4 ค่า ตัวอย่าง
ของร ูปแบบประโยคค ำ�สั่งการใช้เมธอด paintIcon() เพื่อแสดงร ูปภาพ ImageIcon คือ arrowPicture เป็นด ังนี้
arrowPicture.paintIcon(this, g, 180, 0)
โดย
this คือ ตัวอ้างอิงถ ึงค อมโพเนนต์ท ี่ใช้รูปภาพแสดง
g คือ ตัวอ้างอิงหรือตัวแปร ออบเจ็กต์ข องกราฟิก
180 คือ การก ำ�หนดค่าของแกน x
0 คือ การก ำ�หนดค ่าข องแ กน y
การใช้งานเมธอด getIconWidth() สำ�หรับค่าความกว้างของ ImageIcon และเมธอด getIconHeight()
สำ�หรับค่าค วามส ูงของ ImageIcon จะม ีการส ่งค ืนค่าเป็นเลขจำ�นวนเต็ม
4.2 การเขยี นโปรแกรมเพื่อแสดงร ปู ภาพและก ารค ลิกปุ่มเพื่อข ยายรปู ภาพ โปรแกรม ImageIconJapplet.
java (โปรแกรมอ้างอิงมาจากหนังสือ Java Programming: Sixth Edition ของ Joyce Farrell) เป็นโปรแกรม
การแสดงรูปภาพและการสร้างปุ่ม เพื่อใช้สำ�หรับการคลิกขยายรูปภาพ ไฟล์รูปภาพที่ใช้ในโปรแกรมเป็นชนิด GIF
คือ ไฟล์ Rose.gif
โปรแกรมจะใช้เมธอด init() ที่มีตัวแปร width และ height สำ�หรับการจัดเก็บค่าค วามกว้างและความส ูง
ของอิมเมจไอคอน และใช้เมธอด actionPerformed() ซึ่งจะทำ�งานเมื่อมีการคลิกปุ่มเพื่อทำ�ให้รูปภาพที่จะแสดงมี
ขนาดที่เพิ่มข ึ้น