Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में LayoutManager क्या है और LayoutManager के प्रकार क्या हैं?


लेआउट प्रबंधक हमें GUI फॉर्म में दृश्य घटकों की व्यवस्था के तरीके को नियंत्रित करने में सक्षम बनाते हैं, कंटेनर के भीतर घटकों के आकार और स्थिति को निर्धारित करके।

LayoutManager के प्रकार

Java में 6 लेआउट प्रबंधक हैं

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

उदाहरण

import java.awt.*; 
import javax.swing.*; 

public class LayoutManagerTest extends JFrame { 
    JPanel flowLayoutPanel1, flowLayoutPanel2, gridLayoutPanel1, gridLayoutPanel2, gridLayoutPanel3; 
    JButton one, two, three, four, five, six; 
    JLabel bottom, lbl1, lbl2, lbl3; 
    
    public LayoutManagerTest() { 
        setTitle("LayoutManager Test"); 
        setLayout(new BorderLayout()); // JFrame के लिए BorderLayout सेट करें 
        flowLayoutPanel1 = new JPanel(); 
        one = new JButton("One"); 
        two = new JButton("Two"); 
        three = new JButton("Three"); 
        flowLayoutPanel1.setLayout(new FlowLayout(FlowLayout.CENTER)); // FlowLayout मैनेजर सेट करें 
        flowLayoutPanel1.add(one); 
        flowLayoutPanel1.add(two); 
        flowLayoutPanel1.add(three); 
        flowLayoutPanel2 = new JPanel(); 
        bottom = new JLabel("This is South"); 
        flowLayoutPanel2.setLayout (new FlowLayout(FlowLayout.CENTER)); // FlowLayout मैनेजर सेट करें 
        flowLayoutPanel2.add(bottom); 
        gridLayoutPanel1 = new JPanel(); 
        gridLayoutPanel2 = new JPanel(); 
        gridLayoutPanel3 = new JPanel(); 
        lbl1 = new JLabel("One"); 
        lbl2 = new JLabel("Two"); 
        lbl3 = new JLabel("Three"); 
        four = new JButton("Four"); 
        five = new JButton("Five"); 
        six = new JButton("Six"); 
        gridLayoutPanel2.setLayout(new GridLayout(1, 3, 5, 5)); // GridLayout मैनेजर सेट करें 
        gridLayoutPanel2.add(lbl1); 
        gridLayoutPanel2.add(lbl2); 
        gridLayoutPanel2.add(lbl3); 
        gridLayoutPanel3.setLayout(new GridLayout(3, 1, 5, 5)); // GridLayout मैनेजर सेट करें 
        gridLayoutPanel3.add(four); 
        gridLayoutPanel3.add(five); 
        gridLayoutPanel3.add(six); 
        gridLayoutPanel1.setLayout(new GridLayout(2, 1)); // GridLayout मैनेजर सेट करें 
        gridLayoutPanel1.add(gridLayoutPanel2); 
        gridLayoutPanel1.add(gridLayoutPanel3); 
        add(flowLayoutPanel1, BorderLayout.NORTH); 
        add(flowLayoutPanel2, BorderLayout.SOUTH); 
        add(gridLayoutPanel1, BorderLayout.CENTER); 
        setSize(400, 325); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setLocationRelativeTo(null); 
        setVisible(true); 
    } 
    public static void main(String args[]) { 
        new LayoutManagerTest(); 
    } 
}

आउटपुट

Java में LayoutManager क्या है और LayoutManager के प्रकार क्या हैं?


  1. फर्मवेयर क्या है? परिभाषा और प्रकार फर्मवेयर क्या है? परिभाषा और प्रकार

    बेहतर रूप से हार्डवेयर के लिए सॉफ़्टवेयर के रूप में जाना जाता है, Firmware एक प्रोग्राम है जो हार्डवेयर के एक टुकड़े में एम्बेडेड आता है जैसे कीबोर्ड, हार्ड ड्राइव, BIOS, या वीडियो कार्ड। इसे एक सिस्टम में अन्य डिवाइस के साथ संचार करने और बेसिक इनपुट/आउटपुट कार्यों जैसे कार्य करने के लिए स्थायी निर्

  1. जावा और जावास्क्रिप्ट में क्या अंतर है? जावा और जावास्क्रिप्ट में क्या अंतर है?

    वेब डेवलपर जेरेमी कीथ ने 2009 में कहा था, जावा का जावास्क्रिप्ट से वही रिश्ता है जो हैम का हैम्स्टर से। इस उपमा की सटीकता पर बहस हो सकती है, लेकिन इसके पीछे की भावना ठोस है: जावा और जावास्क्रिप्ट, एक सामान्य भाषाई जड़ साझा करने के बावजूद, दो बिल्कुल अलग प्रोग्रामिंग भाषाएं हैं। वर्षों में ये थोड़ा ओ

  1. OLED स्क्रीन क्या है? प्रकार, लाभ और यह LCD, LED, CRT डिस्प्ले से कैसे बेहतर है OLED स्क्रीन क्या है? प्रकार, लाभ और यह LCD, LED, CRT डिस्प्ले से कैसे बेहतर है

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