introduction jfc
यह ट्यूटोरियल जीयूआई (ग्राफिकल यूजर इंटरफेस) प्रोग्रामिंग और जावा फाउंडेशन क्लासेस या जावा में जेएफसी की मूल बातें पर चर्चा करता है:
हमारे पिछले ट्यूटोरियल में, हमने जावा में एरे, संग्रह, और विधियों जैसे जावा के डेटा प्रकार, चर, निर्णय लेने और लूप निर्माण आदि की मूल बातें से लेकर विषयों को कवर किया है।
हमने मल्टीथ्रेडिंग और अपवादों की अवधारणा पर भी चर्चा की है। उसके बाद, हमने जावा OOPS समर्थन सीखा। इन सभी अवधारणाओं का उपयोग करके, हम जावा में उच्च-स्तरीय एप्लिकेशन विकसित कर सकते हैं जो पुन: प्रयोज्य और मजबूत होने के साथ-साथ आत्म-निहित भी हैं।
=> जावा प्रशिक्षण ट्यूटोरियल के ए-जेड को देखने के लिए यहां देखें।
इस ट्यूटोरियल में, हम जावा में अनुप्रयोगों के चित्रमय विकास पर अपनी चर्चा शुरू करेंगे। अन्य सभी अवधारणाओं की तरह, जावा कई पुन: प्रयोज्य ग्राफिक क्लासेस और APIS प्रदान करता है ताकि हम अपने ग्राफिकल यूजर इंटरफेस (GUI) को विकसित कर सकें।
आप क्या सीखेंगे:
जावा में एक ग्राफिकल यूजर इंटरफेस क्या है
ग्राफिकल यूजर इंटरफेस या बस 'जीयूआई' कहा जाता है जो सॉफ्टवेयर की दुनिया में इस्तेमाल किया जाने वाला एक सामान्य शब्द है। जीयूआई एक ऐसे एप्लिकेशन का प्रतिनिधित्व करता है जिसमें नियंत्रण के लिए आसान उपयोग के साथ उपयोगकर्ता के लिए एक दृश्य प्रदर्शन होता है। जीयूआई में आमतौर पर ग्राफिकल घटक जैसे विंडो, फ्रेम, बटन, लेबल आदि होते हैं।
हम इन घटकों का उपयोग सिस्टम या बाहरी दुनिया के साथ बातचीत करने के लिए कर सकते हैं। जावा कई एपीआई और पुन: प्रयोज्य कक्षाएं प्रदान करता है, जिनके उपयोग से हम GUI एप्लिकेशन विकसित कर सकते हैं। जावा द्वारा प्रदान की गई सबसे पुरानी किटों में से एक है the एब्सट्रैक्ट विंडोइंग टूलकिट ”या AWT। सभी नए एपीआई या स्विंग जैसे घटक; JavaFX आदि इस AWT पर आधारित हैं।
कंसोल प्रोग्राम जो हमने अब तक लिखे हैं, समान रूप से महत्वपूर्ण हैं, लेकिन हमें पता होना चाहिए कि सभी नवीनतम आधुनिक डेस्कटॉप एप्लिकेशन ग्राफिक रूप से सक्षम हैं। इसका मतलब यह है कि उनके पास तैयार-से-उपयोग वाली GUI है जो माउस के क्लिक के साथ एप्लिकेशन का उपयोग करने के लिए अंतिम-उपयोगकर्ता के लिए आसान बनाता है।
ध्यान दें कि GUI लिखना कुछ आकृतियों या चित्रों को शामिल करना उतना आसान नहीं है। GUI में ऐसी गतिविधियाँ होती हैं जो कुछ घटनाओं को भी ट्रिगर करती हैं जो बदले में किसी घटक या किसी घटक के भाग को लागू करने पर कुछ क्रियाओं को निष्पादित करती हैं जैसे एक बटन पर क्लिक करके हम कुछ क्रियाओं को ट्रिगर करते हैं।
तो जीयूआई अनुप्रयोग एक ढांचा है जिसमें ग्राफिकल घटकों और घटनाओं से मिलकर बनता है जिसे इन घटकों पर ट्रिगर किया जा सकता है और घटनाओं के परिणामस्वरूप निष्पादित होने वाली क्रियाएं।
फ्रेमवर्क आमतौर पर पूर्वगामी पुन: प्रयोज्य कक्षाएं और घटक प्रदान करते हैं जिन्हें हम ड्राइंग क्षेत्र में खींच सकते हैं और छोड़ सकते हैं और फिर इन घटकों के साथ घटनाओं और कार्यों को जोड़ सकते हैं।
जावा निम्नलिखित मुख्य रूपरेखा प्रदान करता है।
जावा GUI प्रोग्रामिंग के लिए निम्नलिखित रूपरेखा प्रदान करता है:
- सार घुमावदार टूलकिट: यह जावा में सबसे पुराना ढांचा है और इसे पहली बार JDK 1.0 में पेश किया गया था। AWT के अधिकांश घटक अब पुराने हो चुके हैं और उन्हें जावा स्विंग घटकों द्वारा बदल दिया गया है।
- स्विंग एपीआई: यह AWT ढांचे के शीर्ष पर विकसित चित्रमय पुस्तकालयों का एक समूह है और जावा फाउंडेशन क्लासेस (JFC) का एक हिस्सा है। स्विंग में मॉड्यूलर आर्किटेक्चर होता है जिसमें हम घटकों के लिए प्लग-एंड-प्ले का उपयोग कर सकते हैं।
- JavaFX: नवीनतम रूपरेखा जावा 8 के बाद से उपलब्ध है।
एंड्रॉइड पर उपयोग किए जाने वाले ग्रहण के मानक विजेट टूलकिट (SWT) या Google वेब टूलकिट (GWT) जैसे विभिन्न तृतीय-पक्ष ग्राफ़िकल फ्रेमवर्क हैं।
जावा फाउंडेशन क्लासेस (JFC)
जावा ग्राफिकल यूजर इंटरफेस या GUIs विकसित करने के लिए सुविधाओं और कार्यक्षमता का एक सेट प्रदान करता है। सुविधाओं के इस सेट को जावा फाउंडेशन क्लासेस या जेएफसी के रूप में जाना जाता है।
JFC का उपयोग करके हम अनुप्रयोगों में समृद्ध चित्रमय कार्यक्षमता जोड़ सकते हैं और उन्हें अधिक संवादात्मक भी बना सकते हैं। जेएफसी में ग्राफिकल घटकों का एक सेट होता है जिसे आसानी से हमारे आवेदन में प्लग किया जा सकता है और हमारी आवश्यकताओं के अनुसार प्रोग्राम किया जा सकता है। लेकिन इन घटकों को प्रोग्रामिंग आमतौर पर कोड की केवल कुछ पंक्तियाँ लेता है।
JFC में java.awt और javax.swing संकुल की कक्षाएं शामिल हैं। इनके अलावा, इसमें जावा 3 डी, जावा 2 डी, जावा एक्सेसिबिलिटी आदि से संबंधित कक्षाएं भी शामिल हैं। जेएफसी जावा के ऑब्जेक्ट और कंपोनेंट्स मॉडल के साथ तालमेल रखता है और इस प्रकार इसका उपयोग करना आसान है।
निम्नलिखित आरेख JFC में विभिन्न घटकों को सारांशित करता है।
जैसा कि ऊपर दिखाया गया है, JFC में AWT के साथ-साथ स्विंग कक्षाएं भी शामिल हैं। हम इनमें से प्रत्येक पर चर्चा करेंगे क्योंकि हम जावा एडब्ल्यूटी और जावा स्विंग ट्यूटोरियल के साथ आगे बढ़ते हैं। जेएफसी विभिन्न तरीकों को भी प्रदान करता है जिनका उपयोग हम अपने आवेदन में कर सकते हैं।
आमतौर पर इस्तेमाल की जाने वाली कुछ विधियाँ हैं:
तरीका | विवरण |
---|---|
सार्वजनिक शून्य जोड़ (घटक c) | विधि को लागू करने वाले मूल घटक में एक घटक जोड़ता है। |
सार्वजनिक शून्य सेट करें (int चौड़ाई, int ऊंचाई) | एक निर्दिष्ट चौड़ाई और ऊंचाई के साथ एक घटक का आकार निर्धारित करता है। |
सार्वजनिक शून्य सेटलेआउट (लेआउट मैनजर एम) | इस घटक के लिए निर्दिष्ट लेआउट प्रबंधक सेट करें। |
सार्वजनिक शून्य सेटविजुअल (बूलियन बी) | बूलियन मान के अनुसार घटक दृश्यता निर्धारित करें। डिफ़ॉल्ट रूप से दृश्यता झूठी है। |
अब सामान्य स्तर पर GUI घटकों पर चर्चा करने के लिए आगे बढ़ते हैं। फिर हमारे बाद के ट्यूटोरियल में, हम AWTand स्विंग पैकेज और उनके घटकों पर विशेष रूप से चर्चा करेंगे।
विंडो घटक
हम जानते हैं कि किसी भी GUI एप्लिकेशन का मूल कंटेनर एक विंडो है जिसमें एक या अधिक फ़्रेम हो सकते हैं।
जीयूआई में आमतौर पर उपयोगकर्ता इंटरफ़ेस तत्व या वे तत्व शामिल होते हैं जिन्हें एप्लिकेशन में GUI के एक भाग के रूप में प्रदर्शित किया जाता है।
ये विंडो घटक निम्नानुसार हैं:
- सूचना तत्व: वे तत्व या घटक जो हमें लेबल, आइकन, बैनर या संदेश संवाद जैसी जानकारी प्रदान करते हैं।
- इनपुट नियंत्रण: पाठ फ़ील्ड, बटन, ड्रॉपडाउन सूची, चेकबॉक्स, रेडियो बटन, आदि इनपुट नियंत्रण हैं जो हमें उपयोगकर्ता से डेटा पढ़ने की अनुमति देते हैं।
- नेविगेशनल घटक: मेनू, साइडबार, ब्रेडक्रंब, आदि जैसे घटक हमें एप्लिकेशन के माध्यम से नेविगेट करने में मदद करते हैं।
अब हम GUI में कुछ महत्वपूर्ण घटकों का वर्णन करते हैं।
जावा में फ़्रेम
एक फ्रेम एक चित्रमय खिड़की है जो स्क्रीन पर दिखाई देती है। एक फ्रेम को एक घटक के रूप में देखा जा सकता है लेकिन जैसा कि यह एक भौतिक विंडो बनाता है जिसे हम स्क्रीन पर देख सकते हैं, इसे अन्य घटकों की तुलना में अलग तरीके से व्यवहार किया जाता है। एक फ्रेम में बटन, पाठ क्षेत्र, आदि जैसे अन्य ग्राफिकल घटक हो सकते हैं और पैनल भी।
फ़्रेम में ऐसे तरीके भी होते हैं जो अन्य घटकों द्वारा समर्थित नहीं होते हैं। 'Java.awt.Frame' AWT में एक वर्ग का प्रतिनिधित्व करता है, जबकि JFrame जावा स्विंग पैकेज में निहित वर्ग है जो एक फ़्रेम का प्रतिनिधित्व करता है।
तो कोई भी GUI एप्लिकेशन JFrame ऑब्जेक्ट के निर्माण से शुरू होगा जो मुख्य विंडो बनाता है। एक बार JFrame ऑब्जेक्ट बन जाने के बाद, हम सेटविजिबल (F true ’) को कॉल करके अपनी दृश्यमान संपत्ति को सही पर सेट कर सकते हैं। तब हम इस फ्रेम में अन्य घटकों को खींच और छोड़ सकते हैं।
फ़्रेम सहित सभी GUI घटकों में कुछ सामान्य गुण हैं क्योंकि वे ऊपर दिखाए गए एक सामान्य वंशानुक्रम पदानुक्रम का एक हिस्सा हैं। तो हम कह सकते हैं कि जावा स्विंग पैकेज में कोड साझा करने का एक शक्तिशाली मामला है।
निम्न आकृति GUI संपादक में एक विशिष्ट फ़्रेम विंडो दिखाती है।
जैसा कि हम उपरोक्त आंकड़े से देख सकते हैं, डिज़ाइन संपादक में सबसे छोटी खिड़की (एक छोटे लाल तीर के साथ चिह्नित) फ्रेम है। इस फ्रेम के अंदर, हमारे पास फ्रेम के विभिन्न अन्य घटक या बाल घटक हैं।
यह बाईं ओर के पैनल से स्पष्ट है जो घटकों की एक पेड़ संरचना को दर्शाता है। एक बड़े लाल तीर द्वारा चिह्नित के रूप में, JFrame मूल घटक है और फिर अन्य सभी घटक इसके बाल घटक हैं।
जावा में जेपीनेल
JPanel कंटेनर जावा में स्विंग पैकेज का एक हिस्सा है। JPanel घटकों के एक समूह को संग्रहीत करता है। JPanel ने इसके द्वारा निर्धारित लेआउट का उपयोग करके घटकों को व्यवस्थित किया। विभिन्न लेआउट घटकों को बेहतर ढंग से व्यवस्थित करने के लिए JPanel की मदद कर सकते हैं।
JPanel को एक फ्रेम में या अन्य पैनलों के अंदर घटक लेआउट के लिए एक बुनियादी बिल्डिंग ब्लॉक माना जाता है। एक GUI एप्लिकेशन में आमतौर पर मुख्य विंडो के रूप में फ़्रेम होता है और विभिन्न घटकों को रखने और व्यवस्थित करने के लिए इसके अंदर एक या अधिक पैनल होते हैं।
निम्नलिखित छवि एक फ्रेम के अंदर एक पैनल का एक सरल उदाहरण दिखाती है।
जैसा कि ऊपर दिखाया गया है, एक पैनल कंटेनर एक फ़्रेम विंडो कंटेनर में एम्बेडेड है। हमारे पास एक या एक से अधिक पैनल या पैनल के अंदर एक पैनल हो सकता है। फिर हम पैनल में किसी भी लेआउट प्रबंधक को लागू कर सकते हैं जो पैनल के अंदर घटकों या तत्वों को व्यवस्थित करेगा। JPanel के लिए डिफ़ॉल्ट लेआउट प्रबंधक 'FlowLayout' है।
जीयूआई लेआउट जावा में
जावा कंटेनर स्क्रीन पर घटकों के एक स्वचालित लेआउट का उपयोग करता है। लेकिन 'लेआउट प्रबंधक' द्वारा घटकों के आकार और स्थिति का ध्यान रखा जाता है। लेआउट प्रबंधक डिज़ाइन समय पर कंटेनर के लिए सेट किया गया है। इसे गतिशील रूप से भी बदला जा सकता है।
जावा GUI में उपयोग किए जाने वाले सामान्य लेआउट हैं:
# 1) बॉर्डरलेआउट
बॉर्डर लेआउट घटक को 5 क्षेत्रों में विभाजित करता है जैसा कि नीचे दिखाया गया है।
एनीमे देखने के लिए सबसे अच्छी साइट क्या है
इनमें से, 4 क्षेत्र 'उत्तर', 'दक्षिण', 'पूर्व' और 'पश्चिम' गैर-परिवर्तनशील हैं। क्षेत्र 'केंद्र' आकार बदलने योग्य है। ध्यान दें कि प्रत्येक क्षेत्र में केवल एक घटक की सीमा होती है और कई घटकों को रखने के लिए पैनलों का उपयोग किया जा सकता है।
# 2) फ़्लो लाइआउट: इस लेआउट का उपयोग कई घटकों को रखने के लिए किया जाता है। कई घटकों को क्षैतिज रूप से व्यवस्थित किया जाता है और यदि कंटेनर की चौड़ाई समाप्त हो जाती है तो वे लपेटते हैं। इसके अलावा, घटकों को बाएं से दाएं क्रम में प्रदर्शित किया जाता है।
# 3) BoxLayout: बॉक्स लेआउट का उपयोग करते हुए, घटकों को लंबवत या क्षैतिज रूप से व्यवस्थित किया जाता है। बॉक्स लेआउट की यह व्यवस्था कंटेनर के आकार से स्वतंत्र है। कंटेनर में घटक सेट होते हैं ताकि वे कंटेनर को भरें और समान आकार हो।
ये कुछ महत्वपूर्ण और सामान्य घटक थे जो हमारे पास GUI विकास में हैं। एडब्ल्यूटी और स्विंग पर हमारे बाद के ट्यूटोरियल में, हम इन पैकेजों द्वारा प्रदान किए गए अन्य घटकों के विवरण में जाएंगे।
बार बार पूछे जाने वाले प्रश्न
Q # 1) GUI प्रोग्रामिंग क्या है?
उत्तर: ग्राफ़िकल घटकों का उपयोग करके विकसित किए गए प्रोग्राम, जो पॉइंटिंग डिवाइस का उपयोग करके कंप्यूटर के साथ इंटरैक्ट करते हैं और ईवेंट-चालित होते हैं यानी कुछ घटनाओं को ट्रिगर करने पर यह कुछ क्रियाएं करता है, और इसे GUI प्रोग्रामिंग कहा जाता है।
एक GUI प्रोग्रामिंग GUI फ्रेमवर्क का उपयोग करता है जिसमें हम सीधे ग्राफ़िकल घटकों को प्लग और उपयोग कर सकते हैं।
Q # 2) जावा के साथ कौन सा GUI उपयोग करना है?
उत्तर: जावा कुछ बेहतरीन रूपरेखाओं का समर्थन करता है जिनका उपयोग हम GUI अनुप्रयोगों को विकसित करने के लिए कर सकते हैं जैसा कि नीचे दिखाया गया है:
- JavaFX
- स्विंग जीयूआई जावा।
- AWT: सार विंडिंग टूलकिट।
- SWT- स्टैंडर्ड विजेट टूलकिट।
- अपाचे धुरी।
- झूला
- JGoodies।
- QtJambi।
Q # 3) GUI के क्या फायदे हैं?
उत्तर: जीयूआई कार्यक्रम अनुप्रयोगों को इंटरैक्टिव, सहज ज्ञान युक्त और उपयोग करने और सीखने में आसान बनाता है। चूंकि वे उपयोगकर्ता को चित्रमय दृश्यों के साथ प्रदान करते हैं, इसलिए क्रियाओं पर अधिक प्रभाव पड़ता है और इस प्रकार हमें एप्लिकेशन के बारे में तत्काल दृश्य प्रतिक्रिया मिलती है।
Q # 4) JavaFX API क्या है?
उत्तर: जावाएफ़एक्स मूल जावा कोड में लिखी गई नवीनतम जावा लाइब्रेरी है और इसमें कक्षाएं और इंटरफेस हैं। जावा संस्करण की तुलना में जावा संस्करणों में जीयूआई अनुप्रयोगों को डिजाइन करने के लिए जावाएफएक्स का उपयोग किया जा सकता है।
Q # 5) क्या GUI GUI के लिए अच्छा है?
उत्तर: यद्यपि जावा में सर्वश्रेष्ठ समर्थन के साथ GUI अनुप्रयोगों को विकसित करने के लिए अधिक उपकरण हैं, यह C ++ के MFC पुस्तकालय के समान तेज़ और कुशल नहीं है, जिसमें उन्नत GUI अनुप्रयोगों को विकसित करने के लिए लगभग सभी सुविधाएँ हैं।
निष्कर्ष
इस ट्यूटोरियल में, हमने जावा में GUI प्रोग्रामिंग की खोज की। हमने जावा में GUI प्रोग्रामिंग की कुछ महत्वपूर्ण अवधारणाओं को पेश किया और जावा द्वारा समर्थित GUI फ्रेमवर्क का अवलोकन भी देखा। हमने जेएफसी लाइब्रेरी के अवलोकन पर चर्चा की।
=> यहाँ सभी जावा ट्यूटोरियल की जाँच करें।
अनुशंसित पाठ
- जावा प्रोग्रामिंग भाषा का परिचय - वीडियो ट्यूटोरियल
- OOP जावा: जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का परिचय
- जावा फ्लोट ट्यूटोरियल प्रोग्रामिंग उदाहरण के साथ
- जावा डबल - प्रोग्रामिंग उदाहरणों के साथ ट्यूटोरियल
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- जावा रिवर्स स्ट्रिंग: प्रोग्रामिंग उदाहरणों के साथ ट्यूटोरियल
- जावा घटक: जावा प्लेटफार्म, जेडडीके, जेआरई, और जावा वर्चुअल मशीन
- जावा स्ट्रिंग प्रोग्रामिंग उदाहरणों के साथ तुलना विधि