java - GridBaglyout fill does not resize components inside container -
मेरे पास JFrame
वाले दो पैनल हैं।
पहला पैनल (< कोड> जेनपेल 1 ) का स्वागत संदेश है।
दूसरा पैनल ( जब भी मेरे पास था यह मैं देखता हूँ कि स्क्रॉलपाने को बढ़ाने के लिए क्या करना चाहिए और जब भी jpanel2
) में JTable
संलग्न है JScrollPane < / कोड>।
JFrame
का आकार बदल जाता है, मुझे अतिरिक्त स्थान का उपयोग करने के लिए JTable
चाहिए। c.gridx = 0
, c.gridy = 0
के लिए jpanel1 को प्राप्त करने के लिए
GridBagLayout
का उपयोग किया गया c.gridx = 0
, c.gridy = 1
, c.fill = both
के लिए jpanel2
। jpanel2
बढ़ता है जब फ़्रेम आकार बढ़ जाता है। jpanel2
आकार बढ़ जाता है, तब तालिका आकार।
अपने आकार बदलने के लिए LayoutManager
के। JSRrollPane
के अंदर
आकार
।
बॉर्डर लेआउट
के लिए jpanel2
का उपयोग करें। Jpanel2
c.fill = both
के साथ आपको c.weightx = 1; c.weighty = 1;
निर्दिष्ट करने के लिए कि कितना अतिरिक्त स्थान को घटक द्वारा पकड़ लेना चाहिए पढ़ें।
यहां उदाहरण दिया गया है:
आयात करें java.awt.BorderLayout; आयात करें java.awt.GridBagConstraints; आयात करें java.awt.GridBagLayout; आयात javax.swing.BorderFactory; आयात javax.swing.JFrame; आयात javax.swing.JLabel; आयात javax.swing.JPanel; आयात javax.swing.JScrollPane; आयात javax.swing.JTable; पब्लिक क्लास टेस्टफ्रेम जेफ्रेम {सार्वजनिक टेस्टफ्रेम () का विस्तार करता है {init (); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); पैक (); setLocationRelativeTo (शून्य); setVisible (सही); } निजी शून्य init () {JPanel p1 = नया JPanel (); p1.setBorder (BorderFactory.createTitledBorder ( "पी 1")); P1.add (नया जेएलैब ("परीक्षण")); जेपीनल पी 2 = नया जेपीनल (नया बॉर्डर लेआउट ()); p2.setBorder (BorderFactory.createTitledBorder ( "P2")); P2.add (नया JScrollPane (नया JTable (2,2))); SetLayout (नया ग्रिडबागलेआउट ()); ग्रिडबैग कंसल्टेंट्स c = नया ग्रिडबैग कंसल्टंस (); c.gridx = 0; c.gridy = 0; (P1, ग) जोड़ने; C.fill = GridBagConstraints.BOTH; C.weightx = 1; C.weighty = 1; c.gridx = 0; c.gridy = 1; (P2, ग) जोड़ने; } सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग एजीआर []) {नया टेस्टफ्रेम (); }}
Comments
Post a Comment