สอน JavaFX EP3.10 ตอนที่ 3B | ป้องกันกดซ้ำและจัดการข้อผิดพลาดใน Task
KOPE SOLUTION
0:00 / 0:00
สอน JavaFX EP3.10 ตอนที่ 3B | ป้องกันกดซ้ำและจัดการข้อผิดพลาดใน Task
89 просмотров · 3 недели назад
KOPE SOLUTION
378 подписчиков
89 просмотров · 3 недели назад
เรียน JavaFX Task และการจัดการข้อผิดพลาด ผ่านโปรเจกต์ Smart Factory Dashboard เพิ่มการป้องกันกดปุ่มซ้ำระหว่างทำงานเบื้องหลัง และคืนสถานะปุ่มให้ใช้งานได้ทั้งเมื่องานสำเร็จและล้มเหลว
ต่อจาก EP3.10 ตอนที่ 3A ที่รับผล Sensor มาอัปเดต TableView และ Summary ตอนนี้เราจะเพิ่มการจัดการระหว่างรองาน โดยค่อย ๆ ปรับโค้ดเดิมทีละจุด
สิ่งที่จะได้เรียนในตอนนี้
ใช้ sensorBusy ตรวจว่ามีงานกำลังทำอยู่หรือไม่
ตรวจรายการเครื่องจักรว่างก่อนเริ่ม Task
ใช้ setDisable ปิดปุ่มชั่วคราวเพื่อป้องกันกดซ้ำ
สร้าง finishSensorTask เพื่อคืนสถานะปุ่ม
จัดการงานสำเร็จด้วย setOnSucceeded และงานล้มเหลวด้วย setOnFailed
ใช้ snapshot ตรวจผลของเครื่องที่ถูกลบหรือสร้างใหม่ระหว่างรองาน
ทดลองหน่วงเวลา 3 วินาที เพื่อสังเกตการทำงานให้ชัดเจน
จำลองข้อผิดพลาดและตรวจว่าปุ่มกลับมาใช้งานได้
ผลลัพธ์ท้ายคลิป
ระหว่างทำงาน ปุ่มจำลอง Sensor จะกดซ้ำไม่ได้ เมื่องานสำเร็จหรือล้มเหลว ปุ่มจะกลับมาพร้อมใช้งาน และผลเก่าจะไม่ถูกนำไปอัปเดตเครื่องที่ถูกลบหรือสร้างใหม่ด้วยรหัสเดิม
ตัวอย่างนี้ใช้ข้อมูล Sensor จำลอง ไม่ได้เชื่อมอุปกรณ์จริง การหน่วงเวลาและการจงใจทำให้งานล้มเหลวมีไว้ทดสอบ และจะนำออกก่อนเรียนตอนถัดไป
แนะนำให้ทำต่อจาก EP3.10 ตอนที่ 3A
ตอนถัดไป: เริ่ม–หยุด Auto Sensor ด้วย Timeline
Source Code และเอกสารประกอบ:
https://github.com/KOPE-SOLUTION/java...
KOPE SOLUTION
เรียนรู้ทีละขั้น เข้าใจหน้าที่ของโค้ด และต่อยอดด้วยแนวคิด Java OOP
#JavaFX #สอนJava #JavaOOP #BackgroundTask #ExceptionHandling #SmartFactory #KOPESOLUTION