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

Java में GridBagConstraints क्लास का महत्व क्या है?


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

GridBagConstraints

हम एक या अधिक सार्वजनिक इंस्टेंस वेरिएबल सेट करके GridBagConstraints ऑब्जेक्ट को कस्टमाइज़ कर सकते हैं। ये वेरिएबल घटक स्थान, आकार, वृद्धि कारक, एंकर, इनसेट, फिलिंग, और पैडिंग निर्दिष्ट करते हैं।

  • gridx: एक int मान जो सबसे बाएं सेल को निर्दिष्ट करता है जिस पर घटक कब्जा करता है। gridx उस कॉलम को निर्दिष्ट करता है जिसमें घटक रखा जाएगा।
  • gridy: एक int मान जो सबसे ऊपर के सेल को निर्दिष्ट करता है जिस पर घटक कब्जा करता है। gridy उस पंक्ति को निर्दिष्ट करता है जिसमें इसे रखा जाएगा।
  • gridheight: एक int मान जो ऊर्ध्वाधर सेल की संख्या निर्दिष्ट करता है जो एक घटक कब्जा करता है।
  • gridwidth: एक int मान जो क्षैतिज सेल की संख्या निर्दिष्ट करता है जो एक घटक कब्जा करता है।
  • ipadx: एक int मान जो प्रत्येक कंट्रोल में जोड़े जाने वाले आंतरिक क्षैतिज पैडिंग की मात्रा निर्दिष्ट करता है।
  • ipady: एक int मान जो प्रत्येक कंट्रोल में जोड़े जाने वाले आंतरिक लंबवत पैडिंग की मात्रा निर्दिष्ट करता है।
  • insets: एक Insets ऑब्जेक्ट जो सेल के प्रत्येक तरफ छोड़े जाने वाले खाली स्थान की मात्रा निर्दिष्ट करता है।
  • weightx: एक double मान जो निर्दिष्ट करता है कि यदि परिणामी लेआउट आवंटित क्षेत्र से क्षैतिज रूप से छोटा है तो अतिरिक्त क्षैतिज स्थान कैसे वितरित किया जाता है।
  • weighty: एक double मान जो निर्दिष्ट करता है कि यदि परिणामी लेआउट आवंटित क्षेत्र से लंबवत रूप से छोटा है तो अतिरिक्त लंबवत स्थान कैसे वितरित किया जाता है।
  • anchor: एक int मान जो सेल के भीतर एक घटक के संरेखण को निर्दिष्ट करता है।
  • fill: एक int मान जो सेल में अतिरिक्त स्थान के साथ क्या करना है यह निर्दिष्ट करता है।
  • RELATIVE: gridx और gridy फील्ड के लिए, यह फील्ड निर्दिष्ट करता है कि घटक को अंतिम जोड़े गए घटक के बगल में रखा जाएगा। gridwidth और gridheight फील्ड के लिए, यह फील्ड निर्दिष्ट करता है कि घटक एक पंक्ति या कॉलम में अंतिम से पहले का घटक होगा।
  • REMAINDER: gridwidth और gridheight फील्ड के लिए, यह फील्ड निर्दिष्ट करता है कि एक घटक एक पंक्ति या कॉलम में अंतिम घटक है।

उदाहरण

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

public class GridBagLayoutTest { 
    public static void main(String[] a) { 
        JFrame frame = new JFrame("GridBagLayout Test"); 
        Container myPane = frame.getContentPane(); 
        myPane.setLayout(new GridBagLayout()); 
        GridBagConstraints c = new GridBagConstraints(); 
        setMyConstraints(c,0,0,GridBagConstraints.CENTER); 
        myPane.add(getFieldPanel(),c); 
        setMyConstraints(c,0,1,GridBagConstraints.CENTER); 
        myPane.add(getButtonPanel(),c); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.setSize(300, 250); 
        frame.setLocationRelativeTo(null); 
        frame.setVisible(true); 
    } 
    private static JPanel getFieldPanel() { 
        JPanel p = new JPanel(new GridBagLayout()); 
        p.setBorder(BorderFactory.createTitledBorder("Details")); 
        GridBagConstraints c = new GridBagConstraints(); 
        setMyConstraints(c,0,0,GridBagConstraints.EAST); 
        p.add(new JLabel("Name:"),c); 
        setMyConstraints(c,1,0,GridBagConstraints.WEST); 
        p.add(new JTextField(16),c); 
        setMyConstraints(c,0,1,GridBagConstraints.EAST); 
        p.add(new JLabel("System:"),c); 
        setMyConstraints(c,1,1,GridBagConstraints.WEST); 
        p.add(getSystemPanel(),c); 
        setMyConstraints(c,0,2,GridBagConstraints.EAST); 
        p.add(new JLabel("Language:"),c); 
        setMyConstraints(c,1,2,GridBagConstraints.WEST); 
        p.add(getLanguagePanel(),c); 
        setMyConstraints(c,0,3,GridBagConstraints.EAST); 
        p.add(new JLabel("Year:"),c); 
        setMyConstraints(c,1,3,GridBagConstraints.WEST); 
        p.add(new JComboBox(new String[] {"2019","2020","2021"}),c); 
        return p; 
    } 
    private static JPanel getButtonPanel() { 
        JPanel p = new JPanel(new GridBagLayout()); 
        p.add(new JButton("OK")); 
        p.add(new JButton("Cancel")); 
        return p; 
    } 
    private static JPanel getSystemPanel() { 
        JRadioButton winButton = new JRadioButton("Windows",true); 
        JRadioButton macButton = new JRadioButton("Mac",false); 
        ButtonGroup systemGroup = new ButtonGroup(); 
        systemGroup.add(winButton); 
        systemGroup.add(macButton); 
        JPanel p = new JPanel(new GridBagLayout()); 
        p.add(winButton); 
        p.add(macButton); 
        return p; 
    } 
    private static JPanel getLanguagePanel() { 
        JPanel p = new JPanel(new GridBagLayout()); 
        p.add(new JCheckBox("Java",true)); 
        p.add(new JCheckBox("Python",true)); 
        p.add(new JCheckBox("Spark",false)); 
        return p; 
    } 
    private static void setMyConstraints(GridBagConstraints c, int gridx, int gridy, int anchor) { 
        c.gridx = gridx; 
        c.gridy = gridy; 
        c.anchor = anchor; 
    } 
}

आउटपुट

Java में GridBagConstraints क्लास का महत्व क्या है?



  1. Java में Container क्लास का महत्व क्या है? Java में Container क्लास का महत्व क्या है?

    Container एक Container क्लास को एक विशेष घटक के रूप में वर्णित किया जा सकता है जो घटकों के संग्रह को धारण कर सकता है। दो प्रकार के स्विंग कंटेनर हैं, वे हैं टॉप-लेवल कंटेनर और लो-लेवल कंटेनर। टॉप-लेवल कंटेनर हैवीवेट कंटेनर हैं जैसे JFrame, JApplet, JWindow, और JDialog। लो-लेवल कंटेनर लाइटवेट कंटेन

  1. Java में SwingWorker क्लास का महत्व क्या है Java में SwingWorker क्लास का महत्व क्या है

    एक SwingWorker क्लास हमें एक वर्कर थ्रेड में एक असिंक्रोनस टास्क (जैसे लंबे समय तक चलने वाला टास्क) करने में सक्षम बनाती है फिर टास्क परिणामों के आधार पर इवेंट डिस्पैच थ्रेड (EDT) से Swing कंपोनेंट्स को अपडेट करती है। इसे Java 1.6 संस्करण में पेश किया गया था।SwingWorker क्लासjava.swing.SwingWorker क

  1. Java में SwingUtilities क्लास का महत्व क्या है? Java में SwingUtilities क्लास का महत्व क्या है?

    Java में, स्विंग कंपोनेंट्स स्क्रीन पर प्रदर्शित होने के बाद, केवल एक थ्रेड द्वारा संचालित किए जा सकते हैं जिसे इवेंट हैंडलिंग थ्रेड कहा जाता है। हम अपना कोड एक अलग ब्लॉक में लिख सकते हैं और इस ब्लॉक का रेफरेंस इवेंट हैंडलिंग थ्रेड को दे सकते हैं। SwingUtilities क्लास में दो महत्वपूर्ण स्टेटिक मेथड्