GUI Controls in Java: AWT हमें विभिन्न प्रकार के User Interface Controls प्रदान करता है, जिनका प्रयोग करके हम GUI User Interface Create कर सकते हैं। AWT की Classes का प्रयोग करके हम Menu व Menu Bar भी Design कर सकते हैं। हम AWT से Dialog Box व File Dialog Box Components भी Create कर सकते हैं, जिसमें हमें एक अलग तरीके से Event Handling का काम करना पडता है।
User Interface Controls उन Objects को कहते हैं, जो User को Program से Graphically Interact करने की सुविधा प्रदान करते हैं। उदाहरण के लिए Push Button एक Common रूप से Use किया जाने वाला User Interface Control है।
जावा में Layout Manager एक ऐसा Control होता है, जो विभिन्न प्रकार के User Interface Controls को किसी Application के Frame Window पर या Applet के Canvas पर विभिन्न प्रकार के Objects को Position व Manage करने का काम करता है। अत: हम कह सकते हैं कि किसी Window का Appearance इस बात पर निर्भर करता है कि हमने किसी Window पर किन Controls को किस प्रकार के Layout Managers का प्रयोग करते हुए Place किया है।
अन्य Controls के अलावा एक Frame Window के साथ किसी Menu Bar को भी Attach किया जा सकता है। Menu Bar का हर Option एक नए Drop Down Menu को Display करता है, जिसमें स्थित विभिन्न Options को User Choose कर सकता है। एक Menu Bar हमेंशा किसी Window के Top पर ही Position होता है। Menu Bar के विभिन्न Options भी अन्य GUI Components की तरह ही काम करते हैं।
हालांकि हम विभिन्न प्रकार GUI Components को Container में Manually Position कर सकते हैं, लेकिन ऐसा करना काफी कठिन काम होता है। Layout Manager इस काम को आसानी से Automatic तरीके से कर देता है।
Removing and Adding GUI Controls in Java
किसी Window में कोई GUI Component Add करने के लिए हमें सबसे पहले किसी Control को Create करना होता है। फिर उस Control को Container Class में Define किए गए add() Method का प्रयोग करके Window में Add करना होता है। add() Method कई तरह से Overloaded है। इस Method का General Syntax निम्नानुसार होता है:
Component add(Component compObj)
इस Syntax में compObj उस Control का एक Instance होता है, जिसे हम Window पर Add करना चाहते हैं। इस Method से Add किए गए Component Object का एक Reference Return होता है। जब हम किसी Window में किसी Component को Add कर देते हैं, तो जब भी उस Component वाला Parent Window Display होता है, ये Control भी Display होता है।
कई बार हम किन्हीं परिस्थितियों में किसी Control को Window से Remove करना चाहते हैं। उस स्थिति में हमें remove() Method को Call करना होता है। इस Method को भी Container Class में ही Define किया गया है और इस Method का General Syntax निम्नानुसार होता है:
void remove(Component compObj)
इस Syntax में भी compObj उस Object को Refer करता है, जिसे हमें Window से Remove करना होता है। किसी Window पर Placed सभी Components को Window से Remove करने के लिए हम removeAll() Method को Call कर सकते हैं।
Labels
ये एक ऐसा Control है, जो किसी प्रकार का कोई Event Generate नहीं करता है। ये Control Window में किसी Label या Message को Display करने के लिए Use किया जाता है। इसके तीन Constructors निम्नानुसार होते हैं:
Label()
Label(String str)
Label(String str, int how)
यदि हम पहले Constructor के अनुसार कोई Label Create करते हैं, तो Add होने वाला Control एक Blank Label होता है। दूसरे Constructor में str वह String है, जिसे Label द्वारा Display करना होता है। जबकि तीसरे Constructor के how Argument द्वारा हम ये तय करते हैं कि Label में Display होने वाली String का Alignment किस प्रकार का होगा।
इस Argument में Label.LEFT, Label.CENTER या Label.RIGHT में से कोई मान होता है। Label में दिखाई देने वाली String को हम setText() Method का प्रयोग करके Set या Change कर सकते हैं। इसी तरह से Label के Current Text को प्राप्त करने के लिए हम getText() Method को Use कर सकते हैं। इन Methods का Syntax निम्नानुसार होता हैं:
void setText(String str)
String getText()
setText() Method में str Argument नए Label को Specify करता है, जबकि getText() Method में Label का Current Label Return होता है। Label के Alignment को फिर से Set करने के लिए हम setAlignment() Method को Use कर सकते हैं। जबकि Current Alignment को प्राप्त करने के लिए हम getAlignment() Method को Use कर सकते हैं। इन दोनों Methods के Syntax निम्नानुसार होते हैं:
void setAlignment(int how)
int getAlignment()
यहां how Argument में Label.LEFT, Label.CENTER या Label.RIGHT में से कोई ही कोई मान होता है।
Buttons
Push Button किसी भी Window में Generally Use किया जाने वाला सबसे Common Component है। Push Button एक ऐसा Component होता है, जिसमें एक Label होता है और ये Control User के Interaction पर कोई Event Generate करने में सक्षम होता है। Push Buttons Button Class के Objects होते हैं। Button Class में निम्नानुसार दो Constructors होते हैं:
Button()
Button(String str)
पहला Constructor एक Empty String वाला Button Object Create करता है, जबकि दूसरे Constructor में Button पर दिखाई देने वाला Label String के रूप में Specify किया जाता है। एक Button को Create करने के बाद हम उस Button का Label setLabel() Method का प्रयोग करके Set या Change कर सकते हैं। जबकि किसी Button का Label प्राप्त करने के लिए हमें getLabel() Method को Use करना होता है। इन दोनों Methods के Syntax निम्नानुसार होते हैं:
void setLabel(String str)
String getLabel()
जब हमें किसी Button का Label Change करना होता है, तब हम str में वह नया Label Specify करते हैं, जिसे हमें Button पर Display करना होता है।
Button Object हमेंशा एक Action Event Generate करता है। इस Event को Handle करने के लिए Event को Button से Registered व पहले से Defined किसी Listener Object में भेजना होता है। जितने भी Listeners को Button से Registered किया गया होता है, उन सभी Listeners में ActionListener Interface को Implement किया गया होता है।
इस Interface में actionPerformed() Method को Define किया जाता है। ये Method तब Invoke होता है, जब इस Listener से Registered किसी Button को Push किया जाता है। इस Method में ActionEvent Class का एक Object Argument के रूप में Pass किया जाता है। इस ActionEvent Object में Event Generate करने वाले Button का व Button पर स्थित Label का दोनों का Reference होता है। इन दोनों में से किसी भी Value का प्रयोग करके हम ये पता लगा सकते हैं, कि किस Button से Event Generate हुआ है।
Check Boxes
ये एक ऐसा Control होता है जो किसी Option को ON या OFF करने का काम करता है। ये एक छोटे से Box की तरह होता है, जिस पर Click करने पर उसमें Check Mark Display होने लगता है। जब किसी Check Box में Check Mark Display होता है, तब वह Control ON Position में होता है। Check Box के साथ एक Label Associated रहता है, जो Check Box के Option को Represent करता है। Check Box की स्थिति को Change करने के लिया यानी Option को ON या OFF करने के लिए हमें Check Box पर Click करना होता है।
हम Check Boxes को एक Group के रूप में भी Use कर सकते हैं और Single Check Box के रूप में भी Use कर सकते हैं। Check Boxes Checkbox Class के Objects होते हैं। जब Check Box Checked होता है, तब वह True Condition को Represent करता है, जबकि Unchecked स्थिति में वह False Condition दर्शाता है। एक Check Box के निम्नानुसार पांच Constructors होते हैं:
Checkbox()
Checkbox(String str)
Checkbox(String str, boolean on)
Checkbox(String str, boolean on, CheckboxGroup cbGroup)
Checkbox(String str, CheckboxGroup cbGroup, boolean on)
पहला Constructor एक ऐसा Check Box Create करता है, जिसका Label Initially Blank होता है। दूसरा Constructor एक ऐसा Check Box Create करता है, जिसके साथ वह Label Associated रहता है, जो हम Argument के रूप में Constructor में Specify करते हैं।
तीसरा Constructor एक ऐसा Check Box Create करता है, जहां हम दूसरे Argument में true Specify करके एक Checked Check Box प्राप्त कर सकते हैं। चौथे और पांचवे Constructor द्वारा एक ऐसा Check Box Create होता है, जिसका नाम str द्वारा Specify किया गया होता है और Check Box के Group को cbGroup Argument द्वारा Specify किया जाता है।
यदि Create किया जाने वाला Check Box किसी Group का Part ना हो, तो cbGroup Argument में null Specify करना होता है। Boolean Variable on द्वारा ये Specify किया जाता है, कि Create होने वाला Check Box Checked होगा या नहीं।
Check Box की Current State का पता लगाने के लिए हमें getState() Method को Use करना होता है, जबकि किसी Check Box की State को Change करने के लिए हमें setState() Method को Use करना होता है। किसी Check Box के साथ Associated Current Label को प्राप्त करने के लिए हम getLabel() Method को Use कर सकते हैं, जबकि Check Box के Label को फिर से Set करने के लिए हमें setLabel() Method को Use करना होता है। इन चारों Methods के Syntax निम्नानुसार होते हैं:
boolean getState()
void setState(boolean on)
String getLabel()
void setLabel(Sting str)
यहां, यदि हम on का मान true रखते हैं, तो Check Box Checked हो जाता है, जबकि यदि इसका मान false हो, तो Check Box Clear हो जाता है। str में Pass की जाने वाली String Check Box से Associated Label को Change कर देता है।
जितनी बार भी हम किसी Check Box को Select या Deselect करते हैं, एक Item Event Generate होता है। ये Item Event उस Listener पर Event Handling के लिए भेजा जाता है, जिसे Check Box से Register किया गया है। इस Listener में ItemListener Interface को Implement किया गया होता है।
इस Interface में itemStateChanged() नाम का एक Method Implement किया जाता है और ये Method तब Invoke होता है, जब किसी Check Box को Select या Deselect किया जाता है। Generate होने वाले ItemEvent Object को Handle करने के लिए Argument के रूप में इस Method में Pass किया जाता है। Check Box को Select या Deselect करने पर Generate होने वाले इस ItemEvent Object मे इस बात की जानकारी होती है, कि Item को Select किया गया है या Deselect किया गया है।
Choice Controls
Choice Class का प्रयोग Options की एक Pop-up List Create करने के लिए किया जाता है, जिसमें से User किसी एक Option को Choose कर सकता है। यानी Choice को हम एक Menu की तरह मान सकते हैं, जिसमें बहुत सारे Options होते हैं, लेकिन हम एक समय में केवल एक ही Option को Choose कर सकते हैं। Choice Control में हम जिस Item को Select करते हैं, वही Item Window पर Display होता है, Choice Control के शेष Items Hide हो जाते हैं। इस Control को Drop-Down List Control भी कहा जाता है।
जब User इस Control पर Click करता है, तो इस Control की List के सभी Options Pop-up हो जाते हैं। इस List में से User जिस Item को Select करता है, केवल वही Item Choice Control में Highlight होने लगता है। List में जितने भी Items Display होते हैं, वे सभी Items एक Left-Justified Label String होते हैं और ये उसी क्रम में Choice Control में Display होते हैं, जिस क्रम में इन्हें Choice Control में Add किया गया होता है। Choice Class में केवल एक ही Default Constructor होता है, जिसका Syntax निम्नानुसार है:
void add(String itemName)
इस Constructor में itemName वह Option है, जिसे एक Label के रूप में Choice Control में Add करना है। Choice Control में एक से ज्यादा Items को Add करने के लिए हमें इस add() Method को कई बार Call करना पडता है और हम जिस क्रम में add() Method को Call करके Items को Add करते हैं, वे Items Choice Control में उसी क्रम में दिखाई देते हैं।
ये पता करने के लिए कि Choice Control में Currently किस Item को Select किया गया है, हम getSelectedItem() या getSelectedIndex() Method को Use कर सकते हैं। इन दोनों Methods का Syntax निम्नानुसार होता है:
String getSelectedItem()
int getSelectedIndex()
getSelectedItem() Method Currently Selected Item का नाम एक String Object के रूप में Return करता है। जबकि getSelectedIndex() Method Currently Selected Item का Index Number Return करता है। Choice Control में पहला Item हमेंशा Index Number 0 पर होता है, यानी Choice Control के Index Numbers की Counting हमेंशा 0 से शुरू होती है। Choice Control में जो भी पहला Item Add किया जाता है, वह Item Default रूप से Selected रहता है।
किसी Choice Object में स्थित कुल Items की संख्या ज्ञात करने के लिए हम getItemCount() Method को Use कर सकते हैं। इसी तरह से Choice Control के किसी Item को Select करने के लिए हम select() Method को Use कर सकते हैं, जिसमें Argument के रूप में हम Item का Index Number दे सकते हैं, या फिर एक String के रूप में Item के नाम को Specify कर सकते हैं। इन Methods का Syntax निम्नानुसार होता है:
int getItemCount()
void select(int index)
void select(String itemName)
getItem() Method में Argument के रूप में किसी Item का Index Number Specify करके हम उस Item का नाम String Object के रूप में प्राप्त कर सकते हैं। इस Method का Syntax निम्नानुसार होता है:
String getItem(int index)
हम जितनी बार किसी Choice Control के किसी Item को Select करते हैं, एक ItemEvent Generate होता है। ये Event एक ऐसे Listener पर भेजा जाता है, जिसे पहले ही Choice Control Object से Register कर दिया गया होता है।
इस Listener में ItemListener Interface को Implement किया गया होता है। इस Interface में itemStateChanged() नाम का एक Method Implement किया गया होता है। जब ItemEvent Generate होता है, तब ये Method Execute होता है और Generate होने वाला ItemEvent Object को Argument के रूप में प्राप्त करता है।
List Control
List Class हमें एक ऐसे Scrollable Items की List Provide करता है, जिसमें हम एक से ज्यादा Items को Select कर सकते हैं। Choice Control में हम एक समय में केवल एक ही Selected Item को Display कर सकते हैं, जबकि इस Control में हम एक से ज्यादा List Items को Display कर सकते हैं। List Class हमें तीन Constructors Provide करता है, जो निम्नानुसार हैं:
List()
List(int numRows)
List(int numRows, boolean multipleSelect)
इन Constructors में जो पहला Constructor है, वह Constructor हमें एक समय में केवल एक ही Item Select करने की सुविधा देता है। दूसरा Constructor हमें उतने Rows Window पर हमेंशा Display करता है, जितनी संख्या हम numRows Argument में Specify करते हैं। List के शेष Items Scrollable होते हैं, जिन्हें Scroll करके देखा जा सकता है।
तीसरे Constructor में यदि हम multipleSelect Boolean Variable में true Set करते हैं, तो हम List Control में एक से ज्यादा Items को Select कर सकते हैं। List में किसी Item को Select करने के लिए हम निम्न में से किसी add() Method को Call कर सकते हैं:
void add(String itemName)
void add(String itemName, int index)
इन Syntaxes में itemName वह String है, जिसे हम List Item के रूप में List Object में Add करना चाहते हैं। जब हमें किसी Item को List के किसी Specific Index Number पर Add करना होता है, तब दूसरे Argument के रूप में हम वह Index Number Specify कर देते हैं, जहां पर हम नए Item को Add करना चाहते हैं। यदि हम किसी Item को List के अन्तिम Item के रूप में Specify करना चाहें, तो हमें Index Number के रूप में -1 देना होता है।
जब हम ऐसी Lists Create करते हैं, जिनमें केवल एक ही Item को Select किया जा सकता है, ऐसी List के किसी List को Select करने व Selected Item को प्राप्त करने के लिए हम getSelectedItem() व getSelectedIndex() Methods को उसी तरह से Use कर सकते हैं, जिस तरह से इन्हें Choice Control के साथ Use करते हैं।
यदि किसी List में किसी Item को Select ना किया गया हो, तो getSelectedItem() Methods null Return करता है जबकि किसी Multiple Selection वाली List में जब एक से ज्यादा Items को Select किया गया हो या किसी Item को Select ना किया गया हो, तो getSelectedIndex() Method -1 Return करता है।
ऐसी Lists जिसमें एक से ज्यादा Items को Select किया जा सकता है, हमें निम्न में से किसी Format वाले getSelectedItem() या getSelectedIndex() Method को Use करना चाहिए:
String[] getSelectedItem()
int[] getSelectedIndex()
यहां पहला Method Selected Items की Strings का एक Array Return करता है, जबकि दूसरा Method Selected Items के Index Numbers के Integers का एक Array Return करता है। किसी List Object में स्थित कुल Items की संख्या ज्ञात करने के लिए हम getItemCount() Method को Use कर सकते हैं।
इसी तरह से List Control के Currently Selected Item को Set करने के लिए हम select() Method को Use कर सकते हैं, जिसमें Argument के रूप में हम Item का Index Number दे सकते हैं, या फिर एक String के रूप में Item के नाम को Specify कर सकते हैं। इन Methods का Syntax निम्नानुसार होता है:
int getItemCount()
void select(int index)
void select(String itemName)
getItem() Method में Argument के रूप में किसी Item का Index Number Specify करके हम उस Item का नाम String Object के रूप में प्राप्त कर सकते हैं। इस Method का Syntax निम्नानुसार होता है:
String getItem(int index)
List से Generate होने वाले Events को Handle करने के लिए हमें Action Listener Interface को Implement करना होता है। जब भी किसी List Item के किसी Item को Double Click किया जाता है, एक ActionEvent Object Generate होता है। ActionListener Interface का getActionCommand() Method का प्रयोग करके हम Currently Selected Item का नाम प्राप्त कर सकते हैं।
साथ ही हम किसी List Control में जितनी बार भी किसी Item को Select या Deselect करते हैं, एक ItemEvent Object Generate होता है। ItemListener Interface के getStateChange() Method को Use करके हम ये पता कर सकते हैं कि List में किसी Item को Select या Deselect किया गया है या नहीं। जबकि getItemSelectable() Method उस Object का Reference Return करता है, जिसने Event Trigger किया होता है।
Scroll Bars
Scrollbars का प्रयोग किसी Specified Minimum व Maximum Values के बीच की किसी Value को Select करने के लिए किया जाता है। Scrollbars को Horizontally व Vertically दोनों तरीकों से Organize किया जा सकता है। एक Scrollbar वास्तव में बहुत सारे Individual Parts का Composite रूप होता है। इसके दोनों तरफ एक Arrow होता है, जिस पर Click करके हम Scrollbar की Value को Current Value से Increase या Decrease करते हैं।
Scrollbar की Current Value उसकी Minimum व Maximum Value से Related होती है, जिसे Scrollbar के Slider से Represent किया जाता है। Slider Box को User अपनी जरूरत के अनुसार Scroll करके नई Position पर Change कर सकता है।
ऐसा करने पर Scrollbar नई Value को Represent करने लगता है। जब User को Default Increment Value 1 से अधिक Scroll करना होता है, तब वह Scrollbar के Slider में Click कर सकता है। इस Action को सामान्यतया Page Up व Page Down के रूप में समझा जा सकता है। जावा में Scrollbars को Scrollbar Class में Encapsulated किया गया है। इस Class में तीन Constructs हैें] जो निम्नानुसार होते हैं:
Scrollbar()
Scrollbar(int style)
Scrollbar(int style. int initialValue, int thumbSize, int min, int max)
पहला Constructor एक Vertical Scrollbar Create करता है। दूसरा Constructor Scrollbar के Direction को Specify करता है। यदि style Argument में Scrollbar.VERTICAL Constant मान हो, तो Vertical Scrollbar Create होता है, जबकि इसमें Scrollbar.HORIZONTAL Constant मान होने पर Horizontal Scrollbar Create होता है।
तीसरे Constructor में Scrollbar की Initial Value को initialValue Argument में Specify किया जाता है। Slider में दिखाई देने वाले Thumb की Size को thumbSize Argument में Specify किया जाता है और Scrollbar की Minimum व Maximum Values को min व max नाम के Argument द्वारा Specify किया जाता है।
जब हम इन में से किसी Constructor को Use करके Scrollbar Create करते हैं, तब हमें setValues() Method को Use करके Scrollbar के Parameters को Set करना होता है। इस Method का General Syntax निम्नानुसार होता है:
void setValues(int initialValue, int thumbSize, int min, int max)
Scrollbar की Current Values को प्राप्त करने के लिए हम getValue() Method को Call कर सकते हैं। ये Method Scrollbar की Current Settings को Return करता है। जबकि Current Value को Set करने के लिए हम setValue() Method को Use कर सकते हैं। इन दोनों Methods का Syntax निम्नानुसार होता है:
int getValue()
void setValue(int newValue)
इस Method में newValue वह मान है, जिसे Scrollbar के लिए Specify किया जाता है। जब हम कोई Value Set करते हैं, तो Scrollbar का Slider Box उस नए मान को Represent करते हुए Slider में नए स्थान पर Place या Set हो जाता है। Scrollbar की Minimum व Maximum Values को प्राप्त करने के लिए हम getMinimum() व getMaximum() Method को Use कर सकते हैं, जिनका Syntax निम्नानुसार होता है:
int getMinimum()
int getMaximum()
Scrollbar में Increase या Decrease होने वाली By Default Value 1 होती है, जो एक Line को Up या Down करती है। हम इस Incrementing Value को setUnitIncrement() Method का प्रयोग करके Change कर सकते हैं। जबकि Page-Up व Page-Down की By Default Value 10 होती है, जिसे Change करने के लिए हम setBlockIncrement() Method को Use कर सकते हैं। ये Methods निम्नानुसार होते हैं:
void setUnitIncrement(int newIncr)
void setBlockIncrement(int newIncr)
Scrollbar द्वारा Trigger होने वाले Events को Handle करने के लिए हमें AdjustmentListener Interface को Implement करना होता है। जब भी User Scrollbar से Interact करता है, एक AdjustmentEvent Object Generate होता है। इसका getAdjustmentType() Method का प्रयोग करके हम ये जान सकते हैं कि किस प्रकार का AdjustmentEvent Generate हुआ है। Generate होने वाले AdjustmentEvent निम्न प्रकार के हो सकते हैं:
BLOCK_DECREMENT Page-Down
BLOCK_INCREMENT Page-Up
TRACK Absolute Tracking Event
UNIT_DECREMENT Line-Down
UNIT_INCREMENT Line-Up
TextField Control
TextField Class से हम एक Single Line Text Entry Area Create कर सकते हैं, जिसे Edit Control भी कहते हैं। TextField User को Strings को Enter करने व उसे Modify या Edit करने की सुविधा देता है।
इस Control में लिखे गए Texts को Mouse से Select किया जा सकता है और उस Text पर Cut, Copy व Paste जैसे Operations Perform किए जा सकते हैं। TextField Class TextComponent Class की Sub Class है। TextField Class में निम्न Constructors को Define किया गया है:
TextField()
TextField(int numChars)
TextField(String str)
TextField(String str, int numChars)
पहला Constructor एक Default Text Field Create करता है। दूसरा Constructor ऐसा TextField Create करता है, जिसकी Size numChars Argument में Specify किए गए Characters के बराबर होती है। तीसरा Constructor str Argument में Specify किए गए Characters को Create होने वाले Default TextField में Fill कर देता है और चौथा Constructor numChars के बराबर Characters को Hold कर सकने वाला TextField Create करता है और उसमें str Argument में दिए गए String को Fill कर देता है।
TextField Class व इसकी Super Class TextComponent Class दोनों TextField को विभिन्न तरीकों से Use करने से सम्बंधित विभिन्न प्रकार के Methods Provide करते हैं। TextField में Currently Specify किए गए Characters की String को Return करने के लिए हम getText() Method को Use करते हैं, जबकि TextField में किसी Text को Fill करने के लिए हमें setText() Method को Use करना होता है। इन दोनों Methods का Syntax निम्नानुसार होता है:
String getText()
void setText(String str)
User TextField के किसी विशेष Text को Mouse से Select कर सकता है। साथ ही हम Program के Run Time में भी TextField की String के किसी हिस्से को select() Method का प्रयोग करके Select कर सकते हैं। TextField में Currently Selected Text को प्राप्त करने के लिए हम getSelectedText() Method को Use कर सकते हैं। इन Methods का Syntax निम्नानुसार होता है:
String getSelectedText()
void select(int startIndex, int endIndex)
getSelectedText() Method को हम TextField में Currently Select किए गए Text को प्राप्त करने के लिए Use कर सकते हैं। जबकि select() Method startIndex से endIndex-1 तक के Characters को Select करने का काम करता है। हम setEditable() Method का प्रयोग करके ये तय कर सकते हैं कि किसी TextField के Text Edit हो सकते हैं अथवा नहीं। जबकि कोई TextField Editable है अथवा नहीं इस बात का पता लगाने के लिए हम isEditable() Method को Use कर सकते हैं। ये दोनों Methods निम्नानुसार होते हैं:
boolean isEditable()
void setEditable(boolean canEdit)
यदि किसी TextField के Text को Change किया जा सकता हो, तो isEditable() Method true Return करता है, जबकि यदि कोई TextField Read Only Mode में हो, तो ये Method false Return करता है।
जबकि setEditable() Method में यदि हम true Pass करते हैं, तो इसका मतलब होता है, कि TextField के Text को Edit किया जा सकता है, जबकि यदि हम इसमें Argument के रूप में false Pass कर दें] तो इसका मतलब ये है कि हम इस TextField के Text को Edit, Alter या Modify नहीं कर सकते हैं।
कई बार हमें ऐसी जरूरत होती है, कि User किसी TextField में जो Text Enter करता है, वह Text दिखाई नहीं देना चाहिए। जैसे कि User किसी TextField में यदि Password Input करता है, तो वह Password दिखाई नहीं देना चाहिए।
User किसी TextField में जो Characters Input करता है, यदि हम उन Texts को TextField में Display करवाने से रोकना चाहते हैं, तो हमें setEchoChar() Method को Use करना होता है। ये Method उस Single Character को Specify करता है, जिसे TextField में Enter करते समय Display किया जाना होता है। ये Method निम्नानुसार होता है:
void setEchoChar(char ch)
इस Method में यदि हम Argument ch में “ * ” Specify कर दें] तो User इस TextField में कोई भी Character Input करे, इस TextField में वह Character “ * ” की Series के रूप में ही दिखाई देता है।
यदि हमें ये पता करना हो कि कोई TextField इस Method से Set किया गया है या नहीं, तो हम ये जानकारी प्राप्त करने के लिए echoCharIsSet() Method को Use कर सकते हैं। ये Method निम्नानुसार होता है,
boolean echoCharIsSet()
यदि हमें ये जानना हो कि किसी TextField को किस Character से Set किया गया है, तो हम getEchoChar() Method को Use कर सकते हैं, जो कि निम्नानुसार होता है:
char getEchoChar()
सामान्यतया TextField से काम करने से सम्बंधित विभिन्न प्रकार के Functions TextField Class में ही Define किए गए हैं, इसलिए इसके साथ काम करने के लिए हमें किसी Interface को Implement करने की जरूरत नहीं होती है। लेकिन यदि हम चाहते हैं कि Enter Key Press करने पर Focus किसी दूसरे TextField पर Move हो, तो इसके लिए हमें Generate होने वाले ActionEvent Object को Handle करना होता है।
TextArea Control
कई बार हमारा काम Edit Control की Single Line में नहीं हो पाता है। इस स्थिति में हमें ऐसे Control की जरूरत होती है, जिसमें हम एक से ज्यादा Lines का Text Type कर सकें। जावा के AWT में इस काम को पूरा करने वाले Control को TextArea Control कहा जाता है। इसकी Class में निम्नानुसार पांच Constructors होते हैं:
TextArea()
TextArea(int numLines, int numChars)
TextArea(String str)
TextArea(String str, int numLines, int numChars)
TextArea(String str, int numLines, int numChars, int sBars)
इन Constructors में numLines Arguments TextArea Control की Height को Lines की संख्या के रूप में Specify करता है, जबकि numChars Argument TextArea की Width को Characters की संख्या के रूप में Specify करता है।
जब हमें किसी TextArea को Create करते ही उसमें कुछ Text Specify या Fill करना होता है, तब हमें वह Text str Argument के रूप में Constructor में Specify करना होता है। पांचवे Constructor के अन्तिम Argument sBars में हम निम्न में से कोई Constant मान प्रदान कर सकते हैं, जो TextArea के साथ Scrollbars को Display करने से सम्बंधित होता है:
SCROLLBARS_BOTH
SCROLLBARS_NONE
SCROLLBARS_HORIZONTAL_ONLY
SCROLLBARS_VERTICAL_ONLY
TextArea Class भी TextComponent Class की एक Sub Class है। इसलिए ये भी getText(), setText(), getSelectedText(), select(), isEditable() व setEditable() Methods को TextField Control की तरह ही Support करता है। इनके अलावा TextArea Class में निम्न Methods और Define किए गए हैं:
void append(String str)
void insert(String str, int index)
void replaceRange(String str, int startIndex, int endIndex )
append() Method str में Specify की गई String को Current Text के End में Append कर देता है। insert() Method str में Specified String को Specify किए गए Index Number पर Insert कर देता है।
जबकि किसी TextArea Control में Select किए गए Text के स्थान पर str में Specified नए Text को Replace करने के लिए replaceRange() Method को Use किया जा सकता है। या हम ऐसा भी कह सकते हैं कि str में Stored String को startIndex से endIndex-1 तक के Text के स्थान पर Replace कर दिया जाता है। TextArea Controls के Events को भी हमें अलग से Handle करने की जरूरत नहीं होती है। ये Control केवल GOT_FOCUS व LOST_FOCUS Event ही Generate करते हैं।
CheckboxGroup Control
इस Control को सामान्यतया Radio Buttons भी कहते हैं। Radio Buttons का प्रयोग बहुत सारे Options में से किसी एक Option को Select करने के लिए किया जाता है। इस Control को Create करने के बाद हमें इस Control में आवश्यकतानुसार Options को Add करना होता है। इसे Create करने के लिए हम निम्न Constructor Statement का प्रयोग कर सकते हैं:
CheckboxGroup radioGroup = new CheckboxGroup()
CheckboxGroup Object Create करने के बाद हमें एक Checkbox Create करना होता है, जिसके Constructor के दूसरे Argument के रूप में हमें इस radioGroup Object का Reference देना होता है। ये काम हम निम्नानुसार Statement द्वारा कर सकते हैं:
check1 = new Checkbox(“C Language”, radioGroup, true);
check2 = new Checkbox(“C++ Language”, radioGroup, true);
check3 = new Checkbox(“Java Language”, radioGroup, true);
check4 = new Checkbox(“Visual Basic Language”, radioGroup, true);
उपरोक्त Code Segment चार Radio Buttons Create करता है और ये सभी Radio Buttons एक ही Group radioGroup Object के सदस्; होते हैं। हम एक समय में इस Group के किसी एक ही Option को Select कर सकते हैं। इन Radio Buttons को किसी Container में Add करने के लिए हमें निम्नानुसार add() Method को Use करना होता है।
add(check1)
add(check2)
add(check3)
add(check4)
radioGroup Object से Generate होने वाले Events को Handle करने के लिए भी हमें उसी Process को Use करना होता है, जिस Process का प्रयोग हमें किसी Checkbox से Generate होने वाले Events को Handle करने के लिए करना होता है। (GUI Controls in Java)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF