IhsAdke.com

जावा में स्विंग के साथ जीयूआई इंटरफेस कैसे बनाएं

सबसे पहले, आपको जावा की बुनियादी बातें समझने की जरूरत है, साथ ही साथ यह कैसे वस्तुओं और इंटरफेस का प्रबंधन करता है। यह ट्यूटोरियल मानता है कि आपके पास पहले से यह ज्ञान है।

लेख बताता है कि नीचे दिए गए चित्र में प्रस्तुत किए गए एक साधारण आवेदन कैसे बना सकते हैं, साथ ही साथ अपने स्रोत कोड को उजागर करते हैं।

प्रोग्राम विंडो में बटन, टेक्स्ट फ़ील्ड और अन्य घटकों की स्थिति निर्धारित करने के लिए, आपको इसे समझना होगा JPanel. यह घटकों के लिए कंटेनर का एक प्रकार है, जो स्क्रीन पर आयताकार स्थान पर रहता है और कुछ आसान तरीके से सम्मिलित घटकों को प्रस्तुत करता है। घटकों को बिल्कुल कैसे तय किया जाता है यह आपके डैशबोर्ड के लिए किस लेआउट का चयन किया गया है पर निर्भर करता है। मैन्युअल प्रोग्रामिंग के लिए यह कम से कम आपको जानना उचित है BorderLayout (एज लेआउट) जो पक्षों के चार घटकों और केंद्र के एक बड़े घटक को सम्मिलित करता है, फिर FlowLayout जो आम तौर पर क्षैतिज रेखाओं में उनकी तरफ से व्यवस्थित और उन्हें स्थान प्रदान करता है और अंत में GridLayout जो घटकों को एल * सी की मेज में व्यवस्थित करता है अधिक लेआउट विकल्प हैं, लेकिन बाकी शुरुआती के लिए बहुत जटिल हैं। यहां मुख्य विचार यह है कि "घटक" सिर्फ एक बटन या चेकबॉक्स नहीं हो सकता - यह एक और जेपीएनएल पैनल भी हो सकता है आप बस एक दूसरे में पैनल डालने और उनके लिए उपयुक्त लेआउट का चयन करके एक जटिल इंटरफ़ेस प्राप्त कर सकते हैं।

एक बार आपके पास JPanel का एक उदाहरण है, लेआउट को कॉन्फ़िगर करने के लिए setLayout विधि को कॉल करें और फिर पैनल में घटकों को जोड़ने के लिए .add विधि। बॉर्डर लेआउट के लिए, आपको दूसरी पैरामीटर के रूप में स्थिति को इंगित करना होगा। उदाहरण के लिए, अपने पैनल को ऊपर किनारे या किनारे पर स्थित करने के लिए अपने पैनल को कॉल करें। Add (myBotao, BorderLayout.North)

शीर्ष-स्तरीय कंटेनर, जो एक जावा एप्लिकेशन का प्रतिनिधित्व स्क्रीन पर प्रदर्शित होता है, एक जेपीएनएल पैनल नहीं है, लेकिन एक जेफ्राम। MyJFrame.getContentPane पर कॉल करें ()। अपने मुख्य पैनल को JFrame उदाहरण में जोड़ने के लिए (myJpanel, BorderLayout.Center) जोड़ें।

अपने एप्लिकेशन को "पॉप अप" से अधिक करने के लिए आपको एक्शन लिस्टनर इंटरफ़ेस को भी समझना होगा। प्रत्येक गैर-अमूर्त कार्यप्रणाली के पास एक विधि है, क्रियाप्रभावित है, जिसे स्वचालित रूप से कहा जाता है जब उपयोगकर्ता उस घटक के साथ एक "क्रिया" करता है जिसमें श्रोता पंजीकृत है (बटन कार्रवाई जाहिर है इसे बायपास कर रहा है)। किसी बटन या किसी अन्य घटक के लिए कोई कार्रवाई दर्ज करने के लिए, कॉल करें .addActionListener।

चरणों

विधि 1
फ़्रेम या सामान्य फ्रेम बनाना

जावा स्टेप 1 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
1
एक वर्ग बनाएँ जो JFrame.class वर्ग को फैली हुई है। यह वर्ग अपने सभी ग्राफिकल यूजर इंटरफेस (जीयूआई) घटकों, जैसे कि बटन और टेक्स्ट फ़ील्ड को रखेगा।
  • जावा स्टेप 2 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
    2
    अपने पहले आवेदन के संपूर्ण लेआउट की योजना बनाएं। एक अच्छी शुरुआत बॉर्डर लेआउट के साथ एक केंद्रीय पैनल और निचले कोने में एक और पैनल हो सकती है (बॉर्डर लेआउट। यूथ)। यह दूसरा पैनल कुछ बटनों, चेक बॉक्सेज़, और अन्य समान नियंत्रणों के साथ फ्लोलेआउट को शामिल कर सकता है। अंत में, केंद्र घटक के केंद्र में बड़े JTextArea की स्थिति। आप उपयोगकर्ता के साथ कुछ पाठ इंटरैक्शन करने के लिए getText () और setText () विधियों का उपयोग करने में सक्षम होंगे।
  • जावा स्टेप 3 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
    3
    अपनी कक्षा के लिए एक निर्माता लिखें। यह निर्माता सभी पैनलों और घटक है कि आप की योजना बनाना चाहिए और उन्हें ठीक से स्थिति और जोड़ने के अंतिम पैनल है, जो आपके फ्रेम करने के लिए "सब कुछ रहता है" (meuFrame.getContentPanel ()। जोड़ें (meuLargePanel, BorderLayout.Center )।
  • जावा स्टेप 4 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
    4
    मुख्य विधि लिखें जो प्रोग्राम का प्रारंभिक बिंदु होगा। इस पद्धति में अपने फ्रेम का एक उदाहरण बनाएं, सेटलोकेशन (चौड़ाई, ऊंचाई)) में प्रारंभिक आकार और स्थान (सेट। आकार (एक्स, वाई) का उपयोग करें और उसे स्क्रीन पर सेट विवेबल (सच्चे) के साथ कॉल करके दिखाई दें।
  • विधि 2
    उपयोगकर्ता कार्रवाइयों के लिए उत्तर निर्धारित करना

    जावा स्टेप 5 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र



    1
    अपने फ्रेम को ActionListener इंटरफ़ेस लागू करें। यह आपके वर्ग को घटकों के कार्यों के लिए सुनने की अनुमति देगा।
  • जावा स्टेप 6 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
    2
    प्रत्येक बटन के लिए, चेक बॉक्स या अन्य नियंत्रण जिसे आपने बनाया हो सकता है, अपने .addActionListener विधि को खोलें, एक पैरामीटर के रूप में अपने फ्रेम को पारित कर रहा है
  • जावा 7 में स्विंग जीयूआई बनाएँ शीर्षक वाला चित्र
    3
    सार लड़ाई लिस्टनर विधि को ओवरराइड करें, एक्शनपररफ़ेड (एक्शनएवेंट इवेंट) इस पद्धति में आपको एक जांचकर्ता को यह जानना चाहिए कि कहां कार्रवाई की गई घटना थी यह अगर सत्यापनकर्ता की ऐसी स्थिति है जो "अगर (event.getSource () == button1)" जैसी कुछ रिपोर्ट करता है। यह जांचता है कि यह ईवेंट कहां से आया और यह आपके बटन से आया है। अगर सत्यापनकर्ता के अंदर, जो कुछ भी करने की आवश्यकता होती है, जब आपका बटन दबाया जाता है।
  • जावा स्टेप 8 में स्विंग जीयूआई बनाएं शीर्षक वाला चित्र
    4
    JTextArea में एक .setText ("मेरा पाठ") विधि है, जो कि आप अपनी कार्रवाई के लिए कुछ दृश्य प्रतिक्रियाओं को कैसे दिखा सकते हैं।
  • युक्तियाँ

    • यह MouseListener इंटरफ़ेस को कार्यान्वित करने में अधिक मुश्किल नहीं है और .addMouseListener का उपयोग किसी भी घटक के लिए रजिस्टर करने के लिए नहीं है।
    • यदि आप अपनी खुद की ग्राफिक वस्तुओं (जैसे कि एक शतरंज) को आकर्षित करना चाहते हैं, तो घटक के बारे में पढ़ें कैनवास. यह किसी अन्य घटक की तरह आपके आवेदन में तैनात किया जा सकता है, लेकिन आपको अपने चित्र को लिखने की आवश्यकता है। चित्र विधि जो आपके ऑब्जेक्ट को चित्रित करने के लिए ज़िम्मेदार है।
    • अगर आपको कुछ स्ट्रिंग को इनपुट के रूप में पास करने के लिए उपयोगकर्ता से पूछना पड़ता है, स्थिर विधि। पहला पैरामीटर आपका एप्लिकेशन फ्रेम या कुछ पैनल होना चाहिए (सम्मिलन बॉक्स मुख्य विंडो के मध्य में प्रदर्शित होगा)। विधि वह मान देता है जो उपयोगकर्ता ने संवाद बॉक्स में दर्ज किया था।
    • कई व्यावहारिक अनुप्रयोगों में सबसे अधिक इस्तेमाल किया स्विंग घटक है JTable. जब आप मूलभूतताओं को पहले ही माहिर कर रहे हैं, तो इसका अध्ययन करने का प्रयास करें और उसका उपयोग करें।
    • GridBagLayout का उपयोग करके एक एकल पैनल में सभी घटकों को सम्मिलित करना संभव है, लेकिन यह क्लास समझने और उपयोग करने के लिए अधिक जटिल है।

    चेतावनी

    • कुछ विकास वातावरण "दोस्ताना" तरीके से स्विंग जीयूआई को डिजाइन और इकट्ठा करने की क्षमता प्रदान करते हैं। हालांकि, वे उन्नत फीचर्स पैनल को ठीक से पूरा करने में असमर्थ हैं। इस तरह की विशेषताओं में पेड़, तालिकाओं, सूचियों और कॉम्बो बॉक्स बॉक्स शामिल होते हैं जो कार्यक्रम को चलाने के दौरान अपनी सामग्री को संशोधित करते हैं, साथ ही साथ कस्टम डेटा मॉडलों वाले घटकों में भी शामिल हैं। संहिता, जब "मैत्रीपूर्ण" तंत्र के माध्यम से किया जाता है, तो वास्तविक दुःस्वप्न बन सकता है यदि आपको मैन्युअल रूप से मैन्युअल रूप से अंतिम रूप देने की आवश्यकता होती है इसलिए, टिप यह है कि आप ग्राफ़िकल जीयूआई के विकास के लिए जीयूआई-अनुकूल अनुप्रयोगों में चिपक न दें क्योंकि वे सीमित विकास के लिए आपके विकास क्षमताओं को सीमित कर सकते हैं।
    • घुमाव एक एकल-थ्रेडेड एप्लिकेशन है यदि आपकी कार्रवाई के लिए बहुत अधिक प्रसंस्करण समय की आवश्यकता होती है, तो यह आपके "तक स्थिर" हो जाएगा। क्रियाप्रणाली पद्धति एक वापसी लाती है जानें कि जावा की मल्टीथ्रेडिंग फीचर्स का प्रयोग करें ताकि आपके स्विंग को "लाइव" बनाने का समय लगेगा।
    • स्विंग घटकों के अधिकांश तरीकों को केवल उस थ्रेड से ट्रिगर करने वाले ईवेंट से सुरक्षित रूप से बुलाया जा सकता है (जो कहता है .actionPerformed और अन्य समान श्रोता विधि)। यदि आपको किसी अन्य थ्रेड से कॉल करने की आवश्यकता है (उदाहरण के लिए, किसी प्रगति बार को अपडेट करने के लिए या कुछ लंबे समय से चलने वाली प्रक्रिया से परिणाम दिखाएं), SwingUtils.invokeLater के बारे में पढ़ें।

    स्रोत कोड

    {{कोडबॉक्स |

    java.awt.BorderLayout आयात आयात java.awt.FlowLayout आयात java.awt.event.ActionEvent आयात java.awt.event.ActionListener आयात javax.swing.JButton आयात javax.swing.JCheckBox आयात javax.swing .JFrame आयात javax.swing.JPanel आयात javax.swing.JTextArea - / *** एक बहुत ही सरल जावा स्विंग आवेदन * बटन और चेकबॉक्स शामिल .. * मुख्य पाठ क्षेत्र में पाठ बदलकर * इन नियंत्रणों के साथ जोड़तोड़ का जवाब। ** @author audriusa * / सार्वजनिक वर्ग wikiHow फैली JFrame लागू करता ActionListener {/ *** बटन। * / JButton myButton = नए JButton ( "बटन" ) - / *** चेकबॉक्स * / JCheckBox MyCheckBox = नए JCheckBox ( "जाँच") -। / *** पाठ क्षेत्र * / JTextArea myText = नए JTextArea ( "मेरा पाठ") -। / *** .. / *** शीर्ष स्तर पैनल कौन सा सब * / JPanel होल्डाल = नए JPanel रखती है () - -। / *** निर्माता * / सार्वजनिक wikiHow (जो नीचे पैनल बटन * / JPanel bottomPanel = नए JPanel () रखती है ) bottomPanel.setLayout {(नई FlowLayout ()) - bottomPanel.add (MyCheckBox) -bottomPanel.add (myButton) -holdAll.setLayout (नई BorderLayout ()) - holdAll.add (bottomPanel, BorderLayout.SOUTH) -holdAll.add (myText, BorderLayout.CENTER) -getContentPane () जोड़ने (होल्डाल, BorderLayout.CENTER) -myButton.addActionListener (यह) -myCheckBox.addActionListener (यह) -setDefaultCloseOperation (DISPOSE_ON_CLOSE) -।} / *** कार्यक्रम * @param Args प्रोग्राम शुरू पैरामीटर, एन टी इस्तेमाल किया * / public static void (String [] args) {wikiHow wikiHow myApplication = नई () - // निर्दिष्ट करें जहां यह स्क्रीन :. myApplication.setLocation (10, 10) -myApplication.setSize (300 पर दिखाई देगा, 300) - दिखाएँ // यह myApplication.setVisible (सही) -} / *** प्रत्येक गैर कुए सार वर्ग को लागू करता है ActionListener * इस विधि ** @param और कार्रवाई घटना * / सार्वजनिक शून्य actionPerformed (ActionEvent होना आवश्यक है .. ई) {if (e.getSource () == myButton) myText.setText ( "बटन पर क्लिक") - else if (e.getSource () == MyCheckBox) myText.setText ( "चेकबॉक्स राज्य के लिए बदल दिया" + MyCheckBox .isSelected ()) - elsemyText.setText () "और ...?" -}}}}
    सामाजिक नेटवर्क पर साझा करें:

    संबद्ध
    © 2021 IhsAdke.com