GUI Application in Java: पिछले अध्याय तक हमने विभिन्न प्रकार के GUI Applets बनाए हैं, जो विभिन्न प्रकार के काम करने में सक्षम हैं। लेकिन Applets हमेंशा HTML Web Page के अन्दर Run होते हैं, इसलिए ये पूरी तरह से हमारे Local Computer के सभी Resources को Use करने में सक्षम नहीं होते हैं। साथ ही Window के Frame के रूप में ये HTML Window को Use करते हैं।
जिस तरह से हमने अभी तक GUI Applets Create किए हैं, उसी तरह से हम GUI Applications भी Create कर सकते हैं। जब हम Applet Create करते हैं, तब हमें By Default एक Window प्राप्त हो जाता है। क्योंकि ये Window HTML Web Page होता है। लेकिन जब हमें Standalone Application बनाना होता है, तब एक Basic Window Create करने का काम भी हमारा ही होता है।
जैसाकि हम जानते हैं कि Applet Class Panel Class की Sub Class है और Panel Class तथा Window Class दोनों ही Component Class की Sub Classes हैं। यानी Panel Class व Window Class दोनों ही Sibling Classes हैं, जिसकी वजह से जो गुण एक Panel में होते हैं, लगभग वे सभी गुण Window में भी होते हैं।
जिस तरह से Panel Class का Object Screen पर दिखाई नहीं देता है, उसी तरह से Window Class का Object भी Screen पर दिखाई नहीं देता है। Screen पर दिखाई देने का गुण Panel Class की Sub Class Applet में होता है।
ठीक इसी तरह से Window Class की Sub Class Frame व Dialog में भी Screen पर दिखाई देने का गुण होता है। हालांकि Applet Class व Frame Class दोनों ही Classes के Objects Screen पर दिखाई देते हैं, लेकिन दोनों में एक Basic अन्तर ये हैं कि Applet Class का Object किसी ना किसी Web Page में ही दिखाई देता है, जबकि Frame Class या Dialog Class का Object Standalone भी Display हो सकता है।
इसलिए जब हमें जावा Programming Language का प्रयोग करते हुए Standalone GUI Application Develop करना होता है, तब Container के रूप में Frame Class का Object Create करना पडता है।
Frame Class हमें एक Standalone GUI Window प्रदान करता है, जिसमें एक Title Bar, Control Toolbox व Border होता है। चूंकि किसी भी Applet Program में कोई main() Method नहीं होता है, इसलिए यदि हम चाहें तो किसी भी Applet Program को Application Program में Convert कर सकते हैं।
GUI Application in Java – The Frame Class
Frame Class का Object एक Resizable Window प्रदान करता है, जो Menu Bar Cursor, Icon व Title को Support करता है। Frame का प्रयोग केवल जावा के Applet Window व Application में ही किया जा सकता है। चूंकि ये Container Class से Derived होता है, इसलिए हम इसमें अन्य Controls को Place कर सकते हैं।
जब हमें जावा Application Create करना होता है, तब GUI Window Create करने के लिए हम इस Class का Object Create करते हैं। Frame का प्रयोग हम किसी HTML Page के विभिन्न Contents को Frames में Setup करने के लिए भी कर सकते हैं। एक प्रकार से ये हमारा Basic Application Type Window होता है, जो एक ऐसा Window होता है, जिसे हम ज्यादातर Programs में देखते हैं। हम Frames का प्रयोग Applets में भी कर सकते हैं।
सामान्यतया जब हमें किसी Applet में Menu Bar या Dialog Box को Use करना होता है, तब हमें Frames का प्रयोग करना जरूरी हो जाता है। क्योंकि बिना Frames का प्रयोग किए हुए हम किसी Applet में Menu Bar या Dialog Box का प्रयोग नहीं कर सकते हैं। एक Frame भी वही Events Generate करता है, जो एक Window Object Generate करता है। यानी
WINDOW_DESTROY, WINDOW_ICONIFY, WINDOW_DEICONIFY, and WINDOW_MOVED
Frame Constructor को हम केवल एक ही String Parameter Pass करते हैं और ये String Parameter Frame Window का Title होता है। हम सामान्यतया हमारी स्वयं की Class Create करते हैं और उस Class को Frame Class से Extend करते हैं या हमारी स्वंय की Class में Frame की Class के गुणों को Inherit करते हैं।
साथ ही विभिन्न प्रकार के Components के Events को भी Handle करते हैं। विभिन्न प्रकार के Events को Handle करने के लिए हम विभिन्न Components की Event Handling Methods को Override करते हैं।
Frame Window Create करने के लिए सबसे पहले हमें एक Class Create करनी होती है और उस Class में main() Method Create करना होता है। फिर main() Method में Frame Class का एक Object Create करना होता है और उस Object के Constructor में Argument के रूप में Frame Window का नाम देना होता है। हम निम्नानुसार Statement द्वारा एक Frame Object Create कर सकते हैं:
Frame firstApplicationWindow = new Frame(“Frame Window”);
इस Statement द्वारा एक Frame Object Create होता है। लेकिन अभी तक ये Object केवल Memory में ही Create हुआ है। केवल इसी Statement द्वारा हम Created Window को नहीं देख सकते हैं। Frame Window दिखाई दे] इसके लिए हमें Frame Object को Visible करना होता है। Frame Window को Visible करने के लिए हमें setVisible() Method का प्रयोग करना पडता है। इस Method में हमें Argument के रूप में एक Boolean मान देना होता है, जो ये तय करता है कि Window को Show करना है या Hide करना है। इस Method को Component Class से Derive किया गया है, इसलिए इस method को हम किसी भी Control Component के साथ Use कर सकते हैं।
चूंकि हमें हमारे Frame Window को Screen पर Display करना है, इसलिए हमें Frame Window Object के साथ इस Method को निम्नानुसार Call करना पडता है:
firstApplicationWindow.setVisible(true)
Frame Window को Visible कर देने पर Window Screen पर Visible तो हो जाता है, लेकिन हमें निम्नानुसार Window का केवल Title Bar ही दिखाई देता है।
![GUI Application in Java - Title Bar](https://www.bccfalna.com/ebooks/wp-content/uploads/ebooks/2015/07/GUI-Application-in-Java-Title-Bar.png)
Frame Window कितना लम्बा&चौडा दिखाई देना चाहिए, ये भी हमें ही तय करना होता है। Frame Window की Height व Width तय करने के लिए हमें Component Class के setSize() Method का प्रयोग करना होता है।
इस Method को Component Class के किसी भी Method की Height व Width Set करने के लिए Use किया जाता है। इस Method में हमें दो Arguments प्रदान करने होते हैं। इस Method का पहला Argument Width को Specify करता है, जबकि दूसरा Argument Frame Window की Height को Represent करता है। इस Method को Frame Object के साथ में निम्नानुसार Use करके Frame Window की Size को तय किया जाता है:
firstApplicationWindow.setSize(300, 200);
अब दिखाई देने वाला Frame Window हमें निम्नानुसार दिखाई देता है:
![GUI Application in Java - Sized with Height and Width](https://www.bccfalna.com/ebooks/wp-content/uploads/ebooks/2015/07/GUI-Application-in-Java-Sized-with-Height-and-Width.png)
चूंकि दिखाई देने वाले Window का Background White Color का है, इसलिए यदि हम चाहें तो Window के Background को setBackground() Method का प्रयोग करके Change कर सकते हैं। मानलो कि हमें Window के Color का Background चाहिए, तो इसके लिए हम निम्नानुसार Statement का प्रयोग करके Frame Window के Background को Change कर सकते हैं:
firstApplicationWindow.setBackground(new Color(233, 233, 209));
इस Statement को अपने Program में Use करने पर हमें निम्नानुसार Frame Window प्राप्त होता है:
![GUI Application in Java - Background Color](https://www.bccfalna.com/ebooks/wp-content/uploads/ebooks/2015/07/GUI-Application-in-Java-Background-Color.png)
इस प्रकार का Window Create करने के लिए हमें निम्नानुसार Application Program लिखना होता है:
// File: MyFirstApplicationWindow.java import java.awt.*; class MyFirstApplicationWindow { public static void main(String args[]) { Frame firstApplicationWindow = new Frame("Frame Window"); firstApplicationWindow.setVisible(true); firstApplicationWindow.setSize(300, 150); firstApplicationWindow.setBackground(new Color(233, 233, 209)); } }
ये एक Application Program है और इसे Run करने के लिए हमें कोई भी HTML File नहीं बनानी पडती है। लेकिन ये Program Standalone Run होता है। इसे किसी Web Page में Run नहीं किया जा सकता है। यदि हम किसी Applet को Application में Convert करना चाहें, तो बहुत ही आसानी से ये काम किया जा सकता है।
मानलो कि पिछले अध्याय के ModifiedThreeControlApplet Program को हमें इस Frame Application में Convert करना है। इस काम को करने के लिए हमें केवल ModifiedThreeControlApplet Class का एक Object Create करना होगा, और उसके init() Method को Call करके Applet को Initialize करना होगा। फिर add() Method का प्रयोग करके Frame Window में ModifiedThreeControlApplet Object को Add करना होगा। ऐसा करने पर एक ModifiedThreeControlApplet Program एक Application की तरह काम करने लगता है। इस पूरी प्रक्रिया को हम निम्नानुसार Program द्वारा समझ सकते हैं:
// File: MyFirstApplicationWindow.java import java.awt.*; public class MyFirstApplicationWindow { public static void main(String args[]) { Frame firstApplicationWindow = new Frame("Frame Window"); ModifiedThreeControlApplet appletToApplication; appletToApplication = new ModifiedThreeControlApplet(); appletToApplication.init(); firstApplicationWindow.add("Center", appletToApplication); firstApplicationWindow.setSize(400, 200); firstApplicationWindow.setVisible(true); firstApplicationWindow.setBackground(new Color(233, 233, 209)); } }
![GUI Application in Java](https://www.bccfalna.com/ebooks/wp-content/uploads/ebooks/2015/07/GUI-Application-in-Java.png)
इसी तरीके से हम विभिन्न प्रकार के अन्य Applets को भी Application में Convert कर सकते हैं। इस Program में हमने ModifiedThreeControlApplet Class का एक Object appletToApplication Create किया है।
हालांकि ये Class हमने इस Program में Create नहीं की है। लेकिन फिर भी हम इस Class का Object दूसरे Program में कर रहे हैं। ऐसा इसलिए सम्भव है, क्योंकि ModifiedThreeControlApplet Program की Class File व MyFirstApplicationWindow Program की Class File दोनों ही Class Files समान Folder में Saved हैं। इसलिए हम एक Program के Class को दूसरे Program में Use कर सकते हैं।
चूंकि Applet Class से Derive किए गए ModifiedThreeControlApplet Class में कोई main() Method नहीं हैं, इसलिए ये Derived Class भी] किसी अन्य सामान्य Class की तरह ही एक सामान्य Class है। अत: हम इस Class का Object भी Create कर सकते हैं। हमारे इस Program में हमने यही किया है। इस Derived Applet Class का एक Object appletToApplication Create किया है और इसे Initialize करने के लिए उसी Applet Class के init() Method को Call किया है।
जब Applet Initialize हो जाता है, तब इस ModifiedThreeControlApplet Class के appletToApplication Object को Frame Object में add() Method का प्रयोग करके Add कर लिया है। ऐसा करने से Applet Class का Object Frame Object में Place हो जाता है और हमारा Applet एक Application की तरह काम करने लगता है। इसी Application Program द्वारा हम किसी भी Applet को Application में Convert कर सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF