ในขณะที่ใช้โปรแกรมต่าง ๆ บนพีซีหรือแอปพลิเคชันมือถือ Android เคยสงสัยหรือไม่ว่าโค้ดใดถูกเรียกใช้หลังจากคลิกปุ่มหรือสวิตช์? โปรแกรมและแอพพลิเคชั่นมือถือส่วนใหญ่เขียนด้วยภาษาจาวา มีวิธีพิเศษในการจัดการสถานการณ์เหล่านี้ที่เรียกว่าการจัดการเหตุการณ์ ในโพสต์นี้เราจะเจาะลึกแนวคิดของ Event Handling ใน Java และทำความเข้าใจกับการทำงานโดยละเอียด
มาเริ่มกันเลย
การจัดการเหตุการณ์ใน Java
ที่มาและเหตุการณ์
ในขณะที่เข้าใจแนวคิดของการจัดการเหตุการณ์คุณอาจเจอคำศัพท์ต่างๆเช่นแหล่งที่มาเหตุการณ์ ฯลฯ แหล่งที่มาและเหตุการณ์เป็นคำศัพท์พื้นฐานบางส่วนที่ต้องทำความเข้าใจก่อนที่เราจะดูการจัดการเหตุการณ์
เหตุการณ์
เมื่อคุณกดปุ่มในโปรแกรมหรือแอปพลิเคชัน Android สถานะของปุ่มจะเปลี่ยนจาก 'ไม่คลิก' เป็น 'คลิก' การเปลี่ยนแปลงสถานะของปุ่มนี้เรียกว่าเหตุการณ์ เหตุการณ์ถูกสร้างขึ้นตามวิธีที่คุณโต้ตอบกับ GUI ตัวอย่างเช่นการป้อนข้อความผ่านแป้นพิมพ์การเลื่อนเคอร์เซอร์การเลื่อน ฯลฯ จะสร้างเหตุการณ์ต่างๆ
ที่มา
ใน Java เกือบทุกอย่างเป็นวัตถุ ปุ่มที่คุณกดเป็นวัตถุด้วย Sorce เป็นวัตถุที่สร้างเหตุการณ์ กล่าวอีกนัยหนึ่งแหล่งที่มาคือวัตถุที่ผ่านการเปลี่ยนแปลงสถานะ นอกจากนี้ยังให้ข้อมูลเกี่ยวกับเหตุการณ์แก่ผู้ฟัง เราจะพูดถึงผู้ฟังในอีกครึ่งหนึ่งของโพสต์นี้
ตอนนี้เรารู้แล้วว่าอะไรคือแหล่งที่มาและเหตุการณ์เรามาดูส่วนถัดไปของการจัดการเหตุการณ์นี้ในบทความ Java
ผู้ฟัง
ตอนนี้เรารู้เกี่ยวกับเหตุการณ์และที่มาแล้ว นี่เป็นช่วงเวลาที่ดีที่จะพูดถึงผู้ฟัง ผู้ฟังยังถูกเรียกว่าเป็นตัวจัดการเหตุการณ์เนื่องจากเป็นผู้รับผิดชอบในการจัดการเหตุการณ์ที่เกิดขึ้นที่ต้นทาง Listener คืออินเทอร์เฟซและมีการใช้ Listener ประเภทต่างๆตามเหตุการณ์
เพื่อจุดประสงค์ในการทำความเข้าใจเราจะดู ActionListener เนื่องจากเป็นตัวฟังเหตุการณ์ที่ใช้บ่อยที่สุดและดูว่ามันจัดการกับเหตุการณ์อย่างไร
import java.awt. * import java.awt.event. * class EventHandle ขยาย Frame ใช้ ActionListener {TextField textField EventHandle () {textField = new TextField () textField.setBounds (60,50,170,20) Button button = new Button (' Quote ') button.setBounds (90,140,75,40) // 1 button.addActionListener (this) add (button) add (textField) setSize (250,250) setLayout (null) setVisible (true)} // 2 โมฆะสาธารณะ actionPerformed ( ActionEvent จ) {textField.setText ('Keep Learning')} public static void main (String args []) {new EventHandle ()}}
เอาต์พุต
(1) (2)
ภาพที่ 1 แสดงผลลัพธ์ของรหัสของเราเมื่อสถานะของปุ่มไม่ถูกคลิก ภาพที่ 2 แสดงผลลัพธ์หลังจากกดปุ่ม
มาดูการจัดการเหตุการณ์ในบทความ java ต่อไปและดูตรรกะเบื้องหลังโค้ดและทำความเข้าใจ ActionListener โดยละเอียด
ก่อนอื่นเรานำเข้าแพ็คเกจที่สำคัญทั้งหมดที่จำเป็นในการใช้ฟังก์ชันที่จำเป็น หลังจากนำเข้าแพ็กเกจเราได้ติดตั้งอินเทอร์เฟซ ActionListener กับคลาส EventHandle ของเรา
ตอนนี้ให้ดูโค้ดที่ฉันแบ่งออกเป็น 2 ส่วนที่สำคัญ ในส่วนแรกเรากำลังลงทะเบียนวัตถุปุ่มของเราด้วย ActionListener ทำได้โดยการเรียกเมธอด addActionListener () และส่งผ่านอินสแตนซ์ปัจจุบันโดยใช้คีย์เวิร์ด 'this'
button.addActionListener (นี้)
เมื่อเราลงทะเบียนปุ่มของเรากับ ActionListener แล้วตอนนี้เราจำเป็นต้องลบล้างไฟล์ actionPerformed () วิธีการที่ใช้วัตถุของคลาส ActionEvent .
โค้ดที่เขียนด้วยวิธีนี้จะถูกดำเนินการเมื่อมีเหตุการณ์เกิดขึ้นดังนั้นเราสามารถพูดได้ว่าวิธีนี้มีบทบาทสำคัญในกระบวนการจัดการเหตุการณ์ต่อไปในการจัดการเหตุการณ์นี้ในบทความ Java ให้เราดูที่ตัวจัดการเหตุการณ์บางอย่าง
fibonacci ใน c ++
รายชื่อผู้ฟัง
เหตุการณ์ | วิธีการ 'ลบล้าง' | EvenListener |
ActionEvent- กิจกรรมที่สร้างจากปุ่มรายการเมนู ฯลฯ | actionPerformed (ActionEvent จ) | ActionListener |
KeyEvent- เหตุการณ์ที่สร้างขึ้นเมื่อได้รับอินพุตจากแป้นพิมพ์ | กดปุ่ม (KeyEvent ke) keyTyped (Ke KeyEvent) keyReleased (Ke KeyEvent) | KeyListener |
ItemEvent- กิจกรรมที่สร้างจากรายการปุ่มตัวเลือก ฯลฯ | itemStateChanged (ItemEvent เช่น) | ItemListener |
MouseEvent - เหตุการณ์ที่สร้างโดยเมาส์ | mouseMoved (MouseEvent ฉัน) mouseDragged (MouseEvent ฉัน) | MouseMotionListener |
สิ่งนี้นำเราไปสู่ส่วนสุดท้ายของการจัดการเหตุการณ์นี้ในบทความ Java
รูปแบบเหตุการณ์การมอบหมาย
เรารู้เกี่ยวกับแหล่งที่มาผู้ฟังและเหตุการณ์ ตอนนี้เรามาดูโมเดลที่รวมทั้ง 3 เอนทิตีและทำให้มันทำงานร่วมกันได้ รูปแบบเหตุการณ์การมอบหมายจะใช้เพื่อบรรลุภารกิจ ประกอบด้วย 2 องค์ประกอบ Source และ listener ทันทีที่แหล่งที่มาสร้างเหตุการณ์ที่ผู้ฟังสังเกตเห็นและจัดการเหตุการณ์ในมือ เพื่อให้การดำเนินการนี้เกิดขึ้นควรลงทะเบียนองค์ประกอบหรือแหล่งที่มากับผู้ฟังเพื่อให้สามารถแจ้งเตือนเมื่อมีเหตุการณ์เกิดขึ้น
ความพิเศษของ delegation Event Model คือคอมโพเนนต์ GUI จะส่งผ่านส่วนการประมวลผลเหตุการณ์ไปยังชุดโค้ดที่แยกจากกันโดยสิ้นเชิง
วิธีการจัดการเหตุการณ์รวดเร็วและมีประสิทธิภาพดังนั้นเราจึงมาถึงตอนท้ายของบทความ 'การจัดการเหตุการณ์ใน Java ใน Java' หากคุณต้องการเรียนรู้เพิ่มเติมตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความนี้และเราจะติดต่อกลับโดยเร็วที่สุด