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

इस अनुच्छेद में, आप सीखेंगे कि आकृति में दिखाए गए चित्र के समान एक आवेदन कैसे बनाएं- इसके अलावा, आप को स्रोत कोड के साथ भी प्रदान किया जाएगा।

प्रोग्राम विंडो में बटन, लेबल और अन्य घटकों को सम्मिलित करने के लिए, आपको पहले खुद का अध्ययन करना होगा JPanel. जेपीएनएल एक प्रकार का कंटेनर है, जो खिड़की में जगह लेता है और नेत्रहीन उन घटकों की व्यवस्था करता है जिन्हें आपने उपयोग करने का फैसला किया है। इन घटकों को व्यवस्थित कैसे किया जाता है, यह पैनल पर लेआउट पर निर्भर करता है। मैन्युअल रूप से कार्यक्रम के लिए, आपको कम से कम अध्ययन करना होगा BorderLayout, जो पक्ष के चार घटक और बीच में एक घटक की स्थिति में है, तो आपको अध्ययन करना होगा FlowLayout, जो बजाय क्षैतिज पंक्तियों में घटकों की व्यवस्था करता है और अंत में GridLayout, जो घटकों को एक मनमाना तालिका n * में रखता है अन्य भी हैं, लेकिन नौसिखिए प्रोग्रामर के लिए वे बहुत जटिल हो सकते हैं, और इसलिए सूचीबद्ध नहीं होंगे। बुनियादी अवधारणा जिसे आपको समझना चाहिए वह यह है कि एक "अंग" यह न सिर्फ एक बटन या चेकबॉक्स हो सकता है, बल्कि एक और "JPanel"। इसलिए, एक दूसरे के अंदर पैनल रखकर और उनमें से प्रत्येक के लिए एक लेआउट चुनकर, आप एक बहुत ही जटिल यूजर इंटरफेस बना सकते हैं। का एक उदाहरण बनाने के बाद "JPanel", विधि का उपयोग करें ".setLayout" लेआउट सेट करने के लिए और फिर उपयोग करें ".add" घटकों को जोड़ने के लिए के लिए "BorderLayout", आपको दूसरे पैरामीटर के रूप में निर्देशांक सेट करने की आवश्यकता होगी। उदाहरण के लिए, कॉल करें "myPanel.add (myButton, BorderLayout.North)" ऊपरी कोने में एक बटन रखने के लिए कंटेनर "शीर्ष स्तर", जो स्क्रीन पर जावा एप्लिकेशन का प्रतिनिधित्व करता है, एक नहीं है "JPanel" लेकिन ए "JFrame"। कॉल "myJFrame.getContentPanel ()। जोड़ें (myJPanel, BorderLayout.Center)" पैनल को जोड़ने के लिए "मुख्य" all`instanza "JFrame"। यह सुनिश्चित करने के लिए कि आपका एप्लिकेशन, स्क्रीन पर दिखाई देने के अलावा, अधिक से अधिक आपको इंटरफ़ेस का अध्ययन करना होगा "ActionListener"। कोई "ActionListener" अमूर्त नहीं इसकी विधि है, "actionPerformed", जिसे स्वचालित रूप से कहा जाता है जब उपयोगकर्ता एक करता है"कार्य" उस घटक में जिस पर "श्रोता" (कार्रवाई, जहां तक ​​बटन संबंधित हैं, उदाहरण के लिए, बटन पर दबाव होगा)। किसी बटन या अन्य घटक के लिए एक क्रिया श्रोता रजिस्टर करने के लिए, विधि का उपयोग करें .addActionListener।.

कदम

विधि 1

मुख्य फ़्रेम बनाएं
जावा चरण 1 में स्विंग जीयूआई बनाएँ शीर्षक वाला छवि
1
वर्ग को बढ़ाता है जो क्लास को बढ़ाता है "JFrame"। इस वर्ग में GUI के सभी घटकों, जैसे बटन और पाठ बक्से शामिल होंगे।
  • जावा चरण 2 में घुमाओ जीयूआई शीर्षक वाला छवि
    2
    अपना पहला एप्लिकेशन का लेआउट बनाएं एक अच्छी शुरुआत एक केंद्रीय पैनल के साथ हो सकती है "BorderLayout" तल पर एक अन्य पैनल के साथ ("BorderLayout.South")। यह दूसरा पैनल उपयोग कर सकता है "FlowLayout" और कई बटन होते हैं, बॉक्स और समान नियंत्रण चेक करें। अंत में, एक बड़ा एक जगह "JTextArea" केंद्रीय घटक के मध्य में आप फ़ंक्शन का उपयोग करने में सक्षम होंगे "gettext ()" और "setText ()" उपयोगकर्ता के साथ पाठ इंटरैक्शन बनाने के लिए
  • जावा स्टेप 3 में स्विंग जीयूआई बनाएं शीर्षक वाला इमेज
    3
    क्लास के लिए कन्स्ट्रक्टर लिखें। यह निर्माता सभी पैनलों और घटक है कि आप बनाना चाहते हैं बनाने का कार्य किया है, उन्हें एक दूसरे में ठीक से स्थिति, और फिर अंतिम पैनल है कि पूरे फ्रेम को जोड़ती जोड़ें: (myFrame.getContentPane ()। जोड़ें (myLargePanel, BorderLayout.Center)।"
  • जावा स्टेप 4 में स्विंग जीयूआई बनाएं शीर्षक वाला इमेज
    4
    मुख्य कार्य लिखें, जो कार्यक्रम का प्रवेश बिंदु होगा। इस तरह, यह फ्रेम का एक उदाहरण बनाता है, स्थिति सेट और प्रारंभिक आयाम (का उपयोग करके"setSize (एक्स, वाई)") ई। सेटलोकेशन (चौड़ाई, ऊंचाई) `) और यह सुनिश्चित कर लें कि वे स्क्रीन पर उपयोग करते हुए दिखाई देते हैं .setVisible (सही)।
  • विधि 2

    उपयोगकर्ता द्वारा किसी कार्यवाही के लिए कार्यक्रम प्रतिक्रियाएं
    जावा चरण में एक स्विंग जीयूआई बनाएँ शीर्षक वाला छवि चरण 5
    1
    अंतरफलक को लागू करें "ActionListener" फ्रेम में इस तरह, आपका क्लास घटकों के साथ उपयोगकर्ता इंटरैक्शन के लिए सुनेगा।



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

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

    चेतावनी

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

    स्रोत कोड

    {{Codebox |

    आयात 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 - / *** जावा आवेदन बहुत सरल * बटन शामिल है और बक्सों को चिह्नित करें। * * पाठ मुख्य क्षेत्र में दिखाया गया बदलकर नियंत्रण के साथ बातचीत का जवाब। ** @autorer audriusa * / सार्वजनिक वर्ग WikiHow फैली JFrameimplements ActionListener {/ *** बटन। * / JButtonmyButton = नए JButton ("बटन") - / *** चेकबॉक्स। * / JCheckBoxmyCheckBox = नया JCheckBox ("चेक") - / *** पाठ क्षेत्र * / JTextAreamyText = नया JTextArea ("मेरा पाठ") - / *** कम पैनल है, जो बटन शामिल * / JPanelbottomPanel = नए JPanel () -। / *** शीर्ष पैनल, जो पूरी शामिल * / JPanelholdAll = नए JPanel () -। / *** निर्माता * / सार्वजनिक WikiHow () {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) -} / *** * @ पीआरएएमडीई प्रोग्राम कार्यक्रम के प्रारंभ पैरामीटर को परिभाषित करता है। । उपयोग नहीं किया * / सार्वजनिक static void मैं (स्ट्रिंग [] args) {WikiHow myApplication = नए WikiHow () - // निर्दिष्ट करें जो schermo.myApplication.setLocation (10, 10) -myApplication.setSize (300, 300) पर दिखाई देता है - // यह दिखाएँ myApplication.setVisible (सही) -।।} / *** प्रत्येक गैर सार वर्ग को लागू करता है कि ActionListener * इस विधि का उपयोग करना चाहिए ** कार्रवाई घटना @parame * / सार्वजनिक शून्य actionPerformed (ActionEvente) {अगर (ड। getSource () == myButton) myText.setText ("एक बटन क्लिक करें") -इसे अगर (ई.गेटएसource () == myCheckBox) myText.setText ("चेकबॉक्स की स्थिति + myCheckBox.is से चुने जा चुकी है ()) - elsemyText.setText ("और ...?") -}}}}
    सामाजिक नेटवर्क पर साझा करें:

    संबद्ध

    © 2011—2022 GnuMani.com