जावा में स्विंग: जानिए कैसे बनाएं GUI का उदाहरण

: जीयूआई एप्लिकेशन के व्यावहारिक प्रदर्शन के साथ स्विंग क्लास पदानुक्रम और लेआउट प्रबंधक के साथ जावा में स्विंग की अवधारणा अर्जित करें।

जावा में स्विंग जावा फाउंडेशन क्लास का हिस्सा है जो हल्का और प्लेटफ़ॉर्म स्वतंत्र है। इसका उपयोग विंडो आधारित एप्लिकेशन बनाने के लिए किया जाता है। इसमें बटन, स्क्रॉल बार, टेक्स्ट फ़ील्ड आदि जैसे घटक शामिल हैं। इन सभी घटकों को एक साथ रखना एक ग्राफिकल यूजर इंटरफेस बनाता है। इस लेख में, हम स्विंग का उपयोग करके अनुप्रयोगों के निर्माण की प्रक्रिया में शामिल अवधारणाओं के माध्यम से जाएंगे । इस लेख में चर्चा की गई अवधारणाएं निम्नलिखित हैं:

जावा में स्विंग क्या है?

जावा में स्विंग एक हल्का GUI टूलकिट है जिसमें अनुकूलित विंडो आधारित अनुप्रयोगों के निर्माण के लिए विविध प्रकार के विजेट हैं। यह JFC (Java Foundation Classes) का एक हिस्सा है। यह AWT API के ऊपर बना है और पूरी तरह से लिखा गया है । यह AWT के विपरीत प्लेटफ़ॉर्म स्वतंत्र है और इसमें हल्के घटक हैं।





यह आसान हो जाता है क्योंकि हम पहले से ही GUI घटक जैसे बटन, चेकबॉक्स इत्यादि का उपयोग कर सकते हैं क्योंकि यह मददगार है क्योंकि हमें स्क्रैच से शुरू नहीं करना है।

कंटेनर क्लास

कोई भी इसमें अन्य घटक होते हैं जिन्हें कंटेनर क्लास कहा जाता है। GUI अनुप्रयोगों के निर्माण के लिए कम से कम एक कंटेनर वर्ग आवश्यक है।



निम्नलिखित तीन प्रकार के कंटेनर वर्ग हैं:

  1. पैनल - इसका उपयोग विंडो पर घटकों को व्यवस्थित करने के लिए किया जाता है

  2. फ़्रेम - आइकन और शीर्षक के साथ पूरी तरह से काम करने वाली खिड़की



  3. संवाद - यह एक पॉप अप विंडो की तरह है लेकिन फ्रेम की तरह पूरी तरह कार्यात्मक नहीं है

AWT और स्विंग के बीच अंतर

AWT अदल-बदल करना
  • प्लेटफ़ॉर्म डिपेंडेंट
  • स्वतंत्र मंच
  • MVC का पालन नहीं करता है
  • MVC का अनुसरण करता है
  • कम अवयव
  • अधिक शक्तिशाली घटक
  • प्लगेबल लुक और फील को सपोर्ट नहीं करता है
  • प्लगेबल लुक और फील करता है
  • हेवीवेट
  • हलका

जावा स्विंग क्लास पदानुक्रम

java-edureka में पदानुक्रम-स्विंग

स्पष्टीकरण : JButton, JComboBox, JList, JLabel जैसे स्विंग में सभी घटक JComponent वर्ग से विरासत में मिले हैं जिन्हें कंटेनर कक्षाओं में जोड़ा जा सकता है। कंटेनर फ्रेम और डायलॉग बॉक्स जैसी खिड़कियां हैं। बुनियादी स्विंग घटक किसी भी गुई आवेदन के निर्माण खंड हैं। सेटलेयआउट जैसी विधियाँ प्रत्येक कंटेनर में डिफ़ॉल्ट लेआउट को ओवरराइड करती हैं। JFrame और JDialog जैसे कंटेनर केवल अपने लिए एक घटक जोड़ सकते हैं। उदाहरणों के साथ कुछ घटक निम्नलिखित हैं, यह समझने के लिए कि हम उनका उपयोग कैसे कर सकते हैं।

जेबटन वर्ग

इसका उपयोग एक लेबल बटन बनाने के लिए किया जाता है। ActionListener का उपयोग करने पर यह बटन को धकेलने पर कुछ क्रिया में परिणत होगा। यह AbstractButton वर्ग को विरासत में मिला है और प्लेटफ़ॉर्म स्वतंत्र है।

उदाहरण:

आयात javax.swing। * सार्वजनिक वर्ग का उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {JFrame a = नया JFrame ('उदाहरण') JButton b = new JButton ('मुझे क्लिक करें') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVouble (सच)}}

आउटपुट:

जावा में शब्दकोश डेटा संरचना

JTextField Class

यह JTextComponent class को इनहेरिट करता है और इसका उपयोग सिंगल लाइन टेक्स्ट के संपादन की अनुमति देने के लिए किया जाता है।

उदाहरण:

आयात javax.swing। * सार्वजनिक वर्ग का उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {JFrame a = नया JFrame ('उदाहरण') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a। .add (b) a.setSize (300,300) a.setLayout (null) a.setVouble (सच)}}

आउटपुट:

JScrollBar क्लास

इसका उपयोग स्क्रॉल पट्टी को जोड़ने के लिए किया जाता है, दोनों क्षैतिज और ऊर्ध्वाधर।

उदाहरण:

आयात javax.swing। * वर्ग उदाहरण {उदाहरण () {JFrame a = नया JFrame ('उदाहरण') JScrollBar b = new JScrollBar () b.setBounds (90,90,40,90) a.add (b) a। setSize (300,300) a.setLayout (null) a.setVouble (true)} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {नया उदाहरण ()}

आउटपुट:

जेपीनेल क्लास

यह JComponent वर्ग को विरासत में मिला है और एक आवेदन के लिए स्थान प्रदान करता है जो किसी अन्य घटक को संलग्न कर सकता है।

import java.awt। * import javax.swing। * public class example {example () {JFrame a = new JFrame ('उदाहरण') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('मुझे क्लिक करें') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a asetVouble (true)} सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग args []) {नया उदाहरण ()}}

आउटपुट:

कैसे अजगर में तार उल्टा करने के लिए

जेमेनू क्लैस एस

यह JMenuItem वर्ग को विरासत में मिला है, और मेनू बार से प्रदर्शित होने वाला एक पुल डाउन मेनू घटक है।

आयात javax.swing। * वर्ग उदाहरण {JMenu मेनू JMenuItem a1, a2 उदाहरण () {JFrame a = नया JFrame ('उदाहरण') मेनू = नया JMenu ('विकल्प') JMenuBar m1 = new JMenuBar () a1 = new JMenen 'उदाहरण') a2 = नया JMenuItem ('example1') menu.add (a1) menu.add (a2) m1.add (मेनू) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) .setVouble (सच)} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {नया उदाहरण ()}}

आउटपुट:

JList वर्ग

यह JComponent class वारिस करता है, JList वर्ग का ऑब्जेक्ट टेक्स्ट आइटम्स की एक सूची का प्रतिनिधित्व करता है।

आयात javax.swing। * सार्वजनिक वर्ग उदाहरण {उदाहरण () {JFrame a = नया JFrame ('उदाहरण') DefaultListModel l = new DefaultListModel () l.addElement ('पहला आइटम') l.addElement ('दूसरा आइटम') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVanish (true) a.setLayout (null)} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग्स] )) {नया उदाहरण ()}}

आउटपुट:

जेलेबेल क्लास

यह एक कंटेनर में पाठ रखने के लिए प्रयोग किया जाता है। यह JComponent वर्ग को भी विरासत में मिला है।

आयात javax.swing। * सार्वजनिक वर्ग का उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {JFrame a = नया JFrame ('उदाहरण') JLabel b1 b1 = नया JLabel ('edureka') b1.setBounds (40,40) 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVouble (सच)}}

आउटपुट:

JComboBox क्लास

यह JComponent वर्ग को विरासत में मिला है और इसका उपयोग विकल्पों का पॉप अप दिखाने के लिए किया जाता है।

आयात javax.swing। * सार्वजनिक वर्ग का उदाहरण {JFrame a example () {a = नया JFrame ('उदाहरण') स्ट्रिंग पाठ्यक्रम [] = {'कोर जावा', 'अग्रिम जावा', 'जावा सर्वलेट'} JComboBox c = new JComboBox (पाठ्यक्रम) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setV अदृश्य (सच), सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args [] ) {नया उदाहरण ()}}

आउटपुट:

लेआउट प्रबंधक

एक कंटेनर के अंदर घटकों को व्यवस्थित करने के लिए हम लेआउट प्रबंधक का उपयोग करते हैं। निम्नलिखित कई लेआउट प्रबंधक हैं:

git कमिट लॉग कैसे प्रिंट करें
  1. बॉर्डर लेआउट

  2. प्रवाह लेआउट

  3. ग्रिडबाग लेआउट

बॉर्डर लेआउट

हर JFrame के लिए डिफ़ॉल्ट लेआउट प्रबंधक BorderLayout है। यह पांच स्थानों तक घटकों को रखता है जो ऊपर, नीचे, बाएं, दाएं और केंद्र है।

प्रवाह लेआउट

FlowLayout बस एक के बाद एक पंक्ति में घटकों को देता है, यह हर JPanel के लिए डिफ़ॉल्ट लेआउट प्रबंधक है।

ग्रिडबाग लेआउट

GridBagLayout घटकों को एक ग्रिड में रखता है जो घटकों को एक से अधिक सेल की अनुमति देता है।

उदाहरण: चैट फ़्रेम

आयात javax.swing। * आयात java.awt। * वर्ग उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {JFrame फ़्रेम = नया JFrame ('चैट फ़्रेम') फ़्रेम। setDefDCloseOperation (JFrame.EXIT_ON_CLOSE) फ़्रेम 400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuBar ') JMenuItem m22 = नया JMenuItem (' Save as ') ob1.add (m11) ob1.add (m22) JPanel पैनल = new JPanel () // पैनल आउटपुट JLabel लेबल में दिखाई नहीं दे रहा है = नया JLabel (' Enter Text) ') JTextField tf = new JTextField (10) // 10 वर्णों तक स्वीकार करता है JButton send = new JButton (' Send ') JButton रीसेट = new JButton (' Reset) 'पैनल.add (लेबल) // घटक फ्लो लेआउट पैनल का उपयोग करके जोड़ा गया। .add (लेबल) // घटक फ्लो लेआउट पैनल का उपयोग करके जोड़ा गया। पैनल (tf) पैनल.add (सेंड) पैनल.add (रीसेट) JTextArea ta = new JTextArea () फ्रेम.getContentPane () जोड़ें। (BorderLayout.SOUTH, panel) ) फ़्रेम .getContentPane ()। add (BorderLayout.NORTH, tf) फ़्रेम .getContentPane () जोड़ें (बॉर्डर) Layout.CENTER, टा) फ्रेम ।सेटविविज़ (सच)}}

जावा में स्विंग का उपयोग करके जीयूआई बनाने के लिए यह एक सरल उदाहरण है।

इस लेख में हमने जावा में स्विंग और जावा स्विंग कक्षाओं के पदानुक्रम पर चर्चा की है। जावा में स्विंग के साथ आने वाले सभी घटकों के साथ, अनुकूलित GUI अनुप्रयोगों का निर्माण करना आसान हो जाता है। जावा प्रोग्रामिंग भाषा एक संरचित प्रोग्रामिंग भाषा है और बढ़ती मांग के साथ सभी अवधारणाओं में महारत हासिल करना बेहद महत्वपूर्ण हो जाता है । अपनी शिक्षा को शुरू करने और जावा प्रोग्रामिंग में एक विशेषज्ञ बनने के लिए, एडुर्का में दाखिला लें ।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस this स्विंग इन जावा ’लेख के टिप्पणी अनुभाग में उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।