Howdy! คราวนี้เรื่องราวที่เราสนใจก็ยังอยู่ที่ JavaBeans ค่ะ ไฟล์ .jar ที่ได้ใช้ Beanbox ครั้งที่แล้ว จะนำมาใช้ด้วยในครั้งนี้ เราจะใช้ netbean เขียนโปรแกรมที่แสดงการนับ โดยจะนับทุกๆ 1 วินาที และทำงานดังนี้
- เมื่อกดปุ่ม Start จะเริ่มนับ
- เมื่อกดปุ่ม Stop จะหยุดที่วินาทีนั้น
- เมื่อกดปุ่ม Reset จะตั้งค่าเริ่มใหม่เป็น 0
Components ที่จะเพิ่มมี 2 beans ดังนี้
Click ขวาที่ time ใน inspector -> ที่ Properties ใน interval ในหน้าต่างให้เปลี่ยนค่าจาก 5 เป็น 1 เพื่อให้ time property เปลี่ยนทุก 1 วินาที
Start, Stop & Reset
JFrame Form
สร้าง Java Project ที่ยังไม่มี class ใดๆและสร้าง class ที่มี JFrame Form โดย click ขวาที่ <default package> แล้วเลือก New -> JFrame Form…
Adding Java Beans
ที่ Palette click ขวา แล้วเลือก Palette Manager…
เพิ่มโดยเลือก Add from JAR… -> เลือก file .jar -> เลือก components ที่จะเพิ่ม -> เลือก Palette Categories
Palette Categories จะเลือกเป็น Beans ทุกครั้ง
Components ที่จะเพิ่มมี 2 beans ดังนี้
- Counter bean ใน Counter.jar ใช้การนับและแสดงจำนวนที่นับ
- TickTock bean ใน misc.jar ที่โหลดมาได้จาก …… ใช้เป็นนาฬิกา
Connecting Counter &TickTock bean
ลาก Counter bean และ TickTock bean มาวางใน form
เพื่อนๆจะไม่เห็น TickTock bean ใน form แต่จะเช็คได้จาก Inspector ด้านมุมซ้ายล่าง เพื่อนๆจะเปลี่ยนชื่อตัวแปรได้ที่ส่วนนี้ เราตั้งชื่อ Counter bean เป็น counter และ TickTock bean เป็น time ดังภาพ
ปุ่ม Connection Mode ใช้ในการเชื่อมการติดต่อ เมื่อกดปุ่ม connection mode แล้วเลือก object ที่สร้างเหตุการณ์และ object ที่รับเหตุการณ์ เช่น ถ้าเราต้องการติดต่อ A กับ B โดย A จะเป็นผู้สร้างเหตุการณ์ และ B สนใจเหตุการณ์ที่เกิดขึ้น (B จะได้รับการแจ้งเตือนเมื่อ A)
เมื่อจะให้ counter ดูเหตุการณ์ของ time เราทำอย่างนี้ค่ะ Click connection mode -> เลือก time -> เลือก counter เมื่อหน้าต่าง Connection Wizard ปรากฏขึ้น ขั้นแรกให้เลือก Event ที่ time สร้างก่อน ตามด้วย method ที่ใช้ในการจัดการ event นั้นตามรูป
เมื่อจะให้ counter ดูเหตุการณ์ของ time เราทำอย่างนี้ค่ะ Click connection mode -> เลือก time -> เลือก counter เมื่อหน้าต่าง Connection Wizard ปรากฏขึ้น ขั้นแรกให้เลือก Event ที่ time สร้างก่อน ตามด้วย method ที่ใช้ในการจัดการ event นั้นตามรูป
Click Next>
ขั้นต่อมาให้เลือก operation ที่จะทำเมื่อ event ที่เลือกไว้เกิดขึ้น เราจะให้เรียก method ชื่อ increment() ตามรูปด้านล่าง
เสร็จแล้วเมื่อกด Finished netbean จะสร้าง code ให้เราโดยอัตโนมัติ
Click ขวาที่ time ใน inspector -> ที่ Properties ใน interval ในหน้าต่างให้เปลี่ยนค่าจาก 5 เป็น 1 เพื่อให้ time property เปลี่ยนทุก 1 วินาที
Start, Stop & Reset
ต่อไปให้ลาก button ใหม่มา 3 button ตั้งชื่อว่า Start , Stop และ Reset
ใช้ Connection mode เชื่อม button ทั้ง 3 กับ counter โดยสำหรับทุกปุ่ม method ที่ใช้จัดการคือ actionPerformed()
-ระหว่าง Start button กับ counter
Operation ที่จะทำเมื่อ event ที่เลือกไว้เกิดขึ้น ( Specific Target Opertion) คือเรียก method start()
-ระหว่าง Stop button กับ counter
Operation ที่จะทำเมื่อ event ที่เลือกไว้เกิดขึ้น ( Specific Target Opertion) คือเรียก method stop()
-ระหว่าง Reset button กับ counter
Operation ที่จะทำเมื่อ event ที่เลือกไว้เกิดขึ้น ( Specific Target Opertion) คือเรียก method reset()
เรียบร้อยแล้ว code ทั้งหมดที่ netBean สร้างให้จะเป็นตามนี้
เมื่อรันโปรแกรมจะเริ่มนับเลยนะค่ะ แต่ถ้าเพื่อนๆ ไม่อยากให้โปรแกรมนับ จนกว่าจะกดปุ่ม start ก็เติม code ที่ MyForm() constructor อย่างนี้เลยค่ะ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น