Extend a Checkbox and CheckboxGroup: इस Program में हमने Checkbox Class को ठीक उसी तरह से Use Event Handling के लिए Use किया है, जिस तरह से हमने Button Class को Use किया है। अन्तर केवल इतना है कि इस Program में Checkbox को Click करने पर ItemEvent Generate होता है, जिसे Handle करने के लिए processItemEvent() Method को Override करना होता है।
// File Name : ExtendingCheckboxApplet.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class ExtendingCheckboxApplet extends Applet{
MyCheckbox check1, check2;
static int i = 0;
public void init(){
check1 = new MyCheckbox("Item1");
add(check1);
check2 = new MyCheckbox("Item2");
add(check2);
}
// Extended Button Class
class MyCheckbox extends Checkbox{
public MyCheckbox(String label) {
super(label);
enableEvents(AWTEvent.ITEM_EVENT_MASK);
}
protected void processItemEvent(ItemEvent itmEvnt) {
showStatus("Checkbox name/state: " + getLabel() +"/"+ getState());
super.processItemEvent(itmEvnt);
}
}
}

इस Applet में हम जब भी किसी Check Box को Click करते हैं, तब एक ItemEvent Generate होता है, जिसके Response में processItemEvent() Method Execute हो जाता है, और Status Bar पर Check Box से सम्बंधित एक Message Display होने लगता है। इसी तरह से हम विभिन्न प्रकार के अन्य Controls को भी Extend करके Event Handling के लिए Use कर सकते हैं।
कई बार कई Controls एक से ज्यादा प्रकार के Events Generate करने में सक्षम होते हैं। उदाहरण के लिए एक List Control के किसी Option को जब Select किया जाता है, तब एक ItemEvent Generate होता है, जबकि List के किसी Option को Double Click करने पर एक ActionEvent Object Generate होता है।
इस स्थिति में यदि हम List Control को Extend करें, तो हमें इन दोनों प्रकार के Events को Handle करना जरूरी होता है। List की Extending Process व Event Handling Process को निम्न उदाहरण द्वारा समझा जा सकता है:
// File Name : ExtendingListApplet.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class ExtendingListApplet extends Applet{
MyList list;
public void init(){
list = new MyList();
list.add("Red");
list.add("Green");
list.add("Blue");
add(list);
}
// Extended Button Class
class MyList extends List{
public MyList(){
enableEvents(AWTEvent.ACTION_EVENT_MASK |
AWTEvent.ITEM_EVENT_MASK );
}
protected void processItemEvent(ItemEvent itmEvnt) {
showStatus("Item Event : " + getSelectedItem());
super.processItemEvent(itmEvnt);
}
protected void processActionEvent(ActionEvent actnEvnt) {
showStatus("Action Event : " + actnEvnt.getActionCommand());
super.processActionEvent(actnEvnt);
}
}
}

इस उदाहरण में हम देख सकते हैं कि जब कोई Control एक से अधिक प्रकार के Events Generate करने में सक्षम होता है, तब हमें उन सभी प्रकार के Events के Mask को enableEvents() Method में Logical OR Operator द्वारा Specify करना होता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF
