Java Event Components
जावा में किसी भी Event को तीन हिस्सों में बंटा हुआ माना जा सकता हैः
Event Object
जब User Keyboard के किसी Button को Press करके या Mouse के किसी Button को Click करके किसी Application से Interact करता है, तब एक Event Generate होता है। Event Driven Architecture पर आधारित Operating System इस Event व Event से Related जरूरी Data को Trap कर लेता है।
उदाहरण के लिए User किसी Application के Window पर Click करता है, तब User ने किस Button से Click किया है और किस x, y Location पर Click किया है, इस बात की जानकारी Data के रूप में उसी Application के उसी Object को वापस भेज देता है, जिस Object पर Click करने पर Event Generate हुआ होता है।
जावा में हर Event को एक Object द्वारा Represent किया जाता है और वह Object Generate होने वाले Event से सम्बंधित विभिन्न जानकारियों को Hold करके रखता है। Event Object के किसी Data Member के मान में परिवर्तन होने का मतलब है कि कोई Event Generate हुआ है। या फिर हम ऐसा भी कह सकते हैं कि किसी Event Object के किसी Data Member के मान में परिवर्तन होने को ही हम Indirectly Event Generate होना कह सकते हैं। जावा में विभिन्न प्रकार के Events को Describe व Handle करने के लिए कई Classes पहले से ही Develop करके Library के रूप में प्रदान कर दी गई हैं।
Event Source
Event Source एक ऐसा Object है जो Event Generate करने में सक्षम होता है या Event Generate करता है। Event तब Generate होता है, जब किसी तरीके से किसी Event Object की Internal State यानी Object के किसी Data Member की स्थिति में परिवर्तन होता है। कोई Event Source एक से अधिक प्रकार की Events को भी Generate कर सकता है।
उदाहरण के लिए यदि हम किसी Button पर Click करते हैं, तो एक ActionEvent Object Generate होता है। ActionEvent Class के Object में इस Event के बारे में विभिन्न प्रकार की Information Stored रहती हैं।
Event Handler
Event – Handler एक Method होता है जो Generate होने वाली Event को समझता है और उसे Process करने में सक्षम होता है। Event Handler Method एक Event प्रकार के Object को Parameter के रूप में लेता है।
ActionEvent Class में getSource() नाम का एक Method होता है। ये Method उस Component का Reference Return करता है, जिसने Event Generate किया है। यानी किसी Application Window पर स्थित एक Command Button को Click करने पर जो Click Event Generate होता है, उस Click Event को Generate करने वाले Command Button को getSource() Method Refer करता है।
import java.awt.*; import java.applet.*; public class DrawStringAppletWithEvent extends Applet { TextField textBox = new TextField(50); public void init() { add(textBox); } public void paint(Graphics firstString) { firstString.drawString("Enter String in Text Box ", 6, 50); String strOfTextBox = textBox.getText(); firstString.drawString("String in Text Box is ", 6, 100); firstString.drawString(strOfTextBox, 30, 120); } public boolean action(Event evnt, Object obj) { repaint(); return true; } }
इस Program में हमने Applet Class को Derive करके DrawStringAppletWithEvent नाम की एक Class बनाई है और इसमें Applet Class के सभी Attributes व Functionality को Inherit किया है। फिर हमने TextField Class का एक Object textBox Create किया है और उसकी Size 50 Define की है। यानी हम Text Box में एक समय में 50 अक्षर देख सकते हैं। Create होने वाला ये Object अभी Memory में ही Create हुआ है। हम इसे तब तक Applet पर नहीं देख सकते हैं, जब तक कि हम इसे Applet पर Add ना करें।
Applet पर इस textBox Object को Add करने के लिए हमें Applet Class के init() Method को Override करना होता है और फिर Create किए गए textBox Object को Add() Method द्वारा Applet पर Add करना होता है, जैसा कि हमने उपरोक्त Program में किया है।
इसके बाद Applet Class के paint() Method को Override करके एक Message “Enter String in Text Box” को Applet पर Display किया है। फिर String Class का एक Object strOfTextBox Create किया है और TextField Class के एक getText() Method को Call करके textBox Object में Type किए गए Texts को इस strOfTextBox Object में Hold किया गया है। फिर drawString() Method का प्रयोग करके textBox में Type की गई String को ज्यों का त्यों Applet पर Display करवा दिया गया है।
इस Program में हमने action नाम के Event Method को Override किया है और इस Method में repaint() Method को Call किया है। इस Applet Program को Compile करके Run करने पर हमें Applet Window में एक Text Box दिखाई देता है। इस Text Box में जो कुछ भी Type करके हम Enter Key Press करते हैं, हमें वह सब कुछ Applet पर दिखाई देने लगता है।
इसका कारण ये है कि जब भी हम Text Box में कुछ लिखते हैं और Enter Key Press करते हैं, तो एक action Event Generate होता है। इस action Event के Generate होते ही, इस Event को Handle करने के लिए Applet में action नाम का एक Method लिखा गया है। इस Method में repaint() Method को Call किया गया है। जैसे ही हम Text Box में कुछ Type करके Enter Key Press करते हैं, action Event Trigger होता है। ये Event Trigger होते ही, action() Method Execute होता है और Applet के paint() Method को फिर से Call करता है, लेकिन इस बार Text Box में जो Texts लिखा जाता है, वह Text Applet पर दिखाई देने लगता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF