एक प्रतिस्पर्धा जावा एक ऐसी वस्तु है जो तब बनाई जाती है जब कोई ग्राफिकल यूजर इंटरफेस में कुछ बदलता है। यदि कोई उपयोगकर्ता एक बटन पर क्लिक करता है, कॉम्बो बॉक्स पर क्लिक करता है, या किसी पाठ क्षेत्र में वर्णों को टाइप करता है, आदि, तब एक ईवेंट ट्रिगर होता है, जो संबंधित ईवेंट ऑब्जेक्ट बनाता है। यह व्यवहार जावा के ईवेंट हैंडलिंग तंत्र का हिस्सा है और इसे स्विंग GUI लाइब्रेरी में शामिल किया गया है।
उदाहरण के लिए, मान लें कि हमारे पास ए JButton. यदि कोई उपयोगकर्ता क्लिक करता है JButton, एक बटन क्लिक घटना शुरू हो जाती है, घटना बनाई जाएगी, और इसे संबंधित को भेजा जाएगा इवेंट श्रोता (इस मामले में, ActionListener). प्रासंगिक श्रोता ने कोड लागू किया होगा जो घटना होने पर कार्रवाई करने के लिए निर्धारित करता है।
ध्यान दें कि एक ईवेंट स्रोत जरूर एक घटना श्रोता के साथ जोड़ा जा सकता है, या इसके ट्रिगर होने पर कोई कार्रवाई नहीं होगी।
कैसे काम करते हैं
जावा में ईवेंट हैंडलिंग में दो प्रमुख तत्व शामिल हैं:
- घटना स्रोत, जो एक ऐसी घटना है जो एक घटना होने पर बनाई जाती है। जावा अनुभाग में चर्चा किए गए इन प्रकार के स्रोतों के कई प्रकार प्रदान करता है घटनाक्रम के प्रकार नीचे।
- घटना के श्रोताऑब्जेक्ट जो घटनाओं के लिए "सुनता है" और उन्हें होने पर संसाधित करता है।
जावा में कई प्रकार के ईवेंट और श्रोता हैं: प्रत्येक प्रकार के ईवेंट को एक संबंधित श्रोता से जोड़ा जाता है। इस चर्चा के लिए, आइए एक सामान्य प्रकार की घटना पर विचार करें कार्रवाई की घटना जावा वर्ग द्वारा प्रतिनिधित्व किया ActionEvent, जब उपयोगकर्ता किसी बटन या किसी सूची के आइटम पर क्लिक करता है, तो उसे ट्रिगर किया जाता है।
उपयोगकर्ता की कार्रवाई में, ए ActionEvent संबंधित कार्रवाई के लिए बनाई गई वस्तु बनाई गई है। इस ऑब्जेक्ट में इवेंट स्रोत की जानकारी और उपयोगकर्ता द्वारा की गई विशिष्ट कार्रवाई दोनों शामिल हैं। यह ईवेंट ऑब्जेक्ट तब संबंधित को पास किया जाता है ActionListener ऑब्जेक्ट की विधि:
शून्य कार्रवाई
यह विधि निष्पादित की गई है और उपयुक्त GUI प्रतिक्रिया लौटाती है, जो किसी संवाद को खोलने या बंद करने के लिए हो सकती है, एक फ़ाइल डाउनलोड करें, एक डिजिटल हस्ताक्षर प्रदान करें, या उपयोगकर्ताओं को उपलब्ध असंख्य क्रियाओं में से किसी एक में इंटरफेस।
घटनाक्रम के प्रकार
यहाँ जावा में कुछ सबसे सामान्य प्रकार के कार्यक्रम हैं:
- ActionEvent: एक ग्राफिकल तत्व का प्रतिनिधित्व करता है, जैसे कि एक सूची में एक बटन या आइटम। संबंधित श्रोता: ActionListener।
- ContainerEvent: GUI के कंटेनर में होने वाली घटना का उदाहरण देता है, उदाहरण के लिए, यदि उपयोगकर्ता इंटरफ़ेस से कोई ऑब्जेक्ट जोड़ता या हटाता है। संबंधित श्रोता: ContainerListener।
- महत्वपूर्ण घटना: एक घटना का प्रतिनिधित्व करता है जिसमें उपयोगकर्ता कुंजी दबाता है, टाइप करता है या जारी करता है। संबंधित श्रोता: KeyListener।
- WindowEvent: एक विंडो से संबंधित एक घटना का प्रतिनिधित्व करता है, उदाहरण के लिए, जब एक विंडो बंद, सक्रिय या निष्क्रिय होती है। संबंधित श्रोता: WindowListener।
- MouseEvent: एक माउस से संबंधित किसी भी घटना का प्रतिनिधित्व करता है, जैसे कि जब एक माउस क्लिक या दबाया जाता है। संबंधित श्रोता: MouseListener।
ध्यान दें कि कई श्रोता और घटना स्रोत एक दूसरे के साथ बातचीत कर सकते हैं। उदाहरण के लिए, एक ही श्रोता द्वारा कई घटनाओं को पंजीकृत किया जा सकता है, यदि वे एक ही प्रकार के हों। इसका मतलब है कि, समान प्रकार के घटकों के लिए जो एक ही प्रकार की कार्रवाई करते हैं, एक घटना श्रोता सभी घटनाओं को संभाल सकता है। इसी तरह, एक घटना कई श्रोताओं के लिए बाध्य हो सकती है, अगर वह कार्यक्रम के डिजाइन के अनुरूप है (हालांकि यह कम आम है)।