Event Handling in Java

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Event Handling in Java: ButtonCaptionApplet Program में केवल एक ही Button है। इसलिए इस Applet में जब हम Button पर Click करते हैं, तब Applet का action() Method Execute होता है। जब User इस Button पर Click करता है, तब जावा Applet Class के action() Method को Call करता है।

इसलिए हमें जो भी काम Button के Click होने पर करवाने होते हैं, उस काम से सम्बंधित Statements हम action() Method में लिख लेते हैं। लेकिन जब Form या Applet पर एक से ज्यादा Button होते हैं, तब हमें ये तय करना जरूरी हो जाता है कि Applet पर स्थित विभिन्न Buttons में से कौनसा Button Click किया गया है।

ये तय करने के लिए कि Applet पर स्थित विभिन्न Buttons में से कौनसा Button Click किया गया है, हम Applet Class के action() Method में Pass किए जाने वाले दोनों Arguments का प्रयोग कर सकते हैं।

      public boolean action(Event evnt, Object ObjCaption)

Applet Class के action() Method में पहला Parameter Event Class का एक Object होता है, जबकि दूसरा Argument वह Object होता है, जो Event Generate करता है। दूसरे Argument के रूप में Object की किसी विशेषता या Property का प्रयोग करके हम किसी Event Generator Object को Uniquely Identify कर सकते हैं, क्योंकि हर Object की कोई ना कोई Value उसे Uniquely Identify करने का एक माध्‍यम होता है।

जब भी कोई Control किसी ना किसी प्रकार के Event को Respond करता है, तब जावा उस Event से सम्बंधित कोई ना कोई Object Create करता है। यानी जब भी कोई Event Generate होता है, उस Event को Represent करने के लिए जावा Event Class का एक Object Create करता है। Generate होने वाले हर Event Object में target नाम का एक Field या Attribute होता है, जो उस Object के Type को Indicate करता है, जिससे Event Generate हुआ है। ये पता लगाने के लिए कि किस Control Object से या किस Class के Object से Event Generate हुआ है, हम Event Class के इस target Field के मान को निम्नानुसार Use कर सकते हैं:

      if(evnt.target instanceof Button)

यदि Event Generate करने वाला Object evnt Button Class (Abstract Data Type)  का Instance (Object) होता है, तो ये if Statement True Return करता है। Generate होने वाले Event Object के target Field में उस Class की जानकारी होती है, जिससे Event Generate हुआ होता है।

यानी यदि User किसी Applet पर स्थित किसी Button पर Click करता है, तो Click करने पर Click Event Generate होता है और इस Event Object के target Field में Button Class की Information Store होती है, जो ये बताती है Button Class के Instance ने इस Event को Generate किया है।

उपरोक्त Statement यदि True Return करता है, तो ये इस बात का संकेत है कि Generate होने वाला Event किसी Button Class के Object से ही Generate हुआ है। अब यदि Applet पर एक से ज्यादा Button हों] तो ये पता लगाने के लिए कि कई Buttons में से भी Exactly किस Button से Event Generate हुआ है, हम action() Method के दूसरे Argument ObjCaption का प्रयोग कर सकते हैं और Object के Caption को निम्नानुसार Compare करवा सकते हैं:

        if(ObjCaption == “+”)

यदि User ने उस Button पर Click किया होगा, जिसका Caption “+” हो, तो ये Statement True Return करता है। इस तरह से हम किसी Applet पर एक से अधिक Button में से किस Button पर Click किया गया है, इस बात का पता लगा सकते हैं।

साथ ही किस Button के Click होने पर क्या होना चाहिए, इस बात को हम Object के Event Handler Coding द्वारा Specify कर सकते हैं। इस प्रक्रिया को ठीक से समझने के लिए हम अपने पिछले Program में ही निम्नानुसार Modification कर सकते हैं।

	// File Name: ArithmaticalApplet.java
	import java.awt.*;
	import java.applet.*;
	
	public class ArithmaticalApplet extends Applet
	{
		TextField txtBox1 = new TextField(10);
		TextField txtBox2 = new TextField(10);
		TextField txtResult = new TextField(10);
		
		Label lblLabel1 = new Label("First Value");
		Label lblLabel2 = new Label("Second Value");
		Label lblResult = new Label("Result");
		
		Button btnAdd = new Button("+");
		Button btnSub = new Button("-");
		Button btnMul = new Button("*");
		Button btnDev = new Button("/");
		Button btnRem = new Button("%");
	
		public void init()
		{
			setLayout(null);
	
			lblLabel1.setBounds(25, 27, 80, 25);
			add(lblLabel1);
			txtBox1.setBounds(150, 27, 215, 25);
			add(txtBox1);
	
			lblLabel2.setBounds(25, 54, 80, 25);
			add(lblLabel2);
			txtBox2.setBounds(150, 54, 215, 25);
			add(txtBox2);
	
			lblResult.setBounds(25, 85, 80, 25);
			add(lblResult);
			txtResult.setBounds(150, 85, 215, 25);
			add(txtResult);
	
			btnAdd.setBounds(25, 120, 70, 25);
			add(btnAdd);
			btnSub.setBounds(85, 120, 70, 25);
			add(btnSub);
			btnMul.setBounds(155, 120, 70, 25);
			add(btnMul);
			btnDev.setBounds(225, 120, 70, 25);
			add(btnDev);
			btnRem.setBounds(295, 120, 70, 25);
			add(btnRem);
		}
	
		public boolean action(Event evnt, Object ObjCaption)
		{
			if(evnt.target instanceof Button)
				HandleButton(ObjCaption);
	
			return true;
		}
	
		protected void HandleButton(Object Caption)
		{
	                float value1 = 0, value2 = 0, result = 0;
			String s ;
			Float toBasicFloat;
			
			try
			{
				s = txtBox1.getText();		
				toBasicFloat = Float.valueOf(s);
				value1 = toBasicFloat.floatValue();
	
				s = txtBox2.getText();
				toBasicFloat = Float.valueOf(s);
				value2 = toBasicFloat.floatValue();
			}
			catch(Exception excp) { }
	
			if(Caption == "+")
			{
				result = value1 + value2;
				s = String.valueOf(result);
				txtResult.setText(s);
			}
	
			else if(Caption == "-")
			{
				result = value1 - value2;
				s = String.valueOf(result);
				txtResult.setText(s);			
			}
	
			else if(Caption == "*")
			{
				result = value1 * value2;
				s = String.valueOf(result);
				txtResult.setText(s);			
			}
	
			else if(Caption == "/")
			{
				result = value1 / value2;
				s = String.valueOf(result);
				txtResult.setText(s);			
			}
	
			else
			{
				result = value1 % value2;
				s = String.valueOf(result);
				txtResult.setText(s);			
			}
		}
	}

Absolute Layout of Java GUI Components
Object Oriented Programming in Java

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।