मैंने को BorderLayout
और JScrollPane
के साथ CENTER
तत्व के रूप में प्रारंभ किया।जावा का फ़्लोलाउट सही ढंग से आकार बदलता नहीं है
स्क्रॉल फलक VERTICAL_SCROLLBAR_ALWAYS
और HORIZONTAL_SCROLLBAR_NEVER
नीतियों के साथ सेट है। मेरे frame
का इरादा नियंत्रित चौड़ाई है, जबकि ऊंचाई को बढ़ाना/हटाना चाहिए क्योंकि डेटा जोड़ा/हटा दिया गया है।
मेरी scroll pane
अंदर, मैं जोड़ा एक सरल JPanel
(की सुविधा देता है यह सामग्री पैनल कहते हैं) जो एक FlowLayout
(और LEADING
नीति) के साथ आरंभ नहीं हो जाता।
इसका परीक्षण करने के लिए, मैं बस content panel
को 20 JLabel("Item " + n)
घटकों के साथ पॉप्युलेट करता हूं जहां n
लूप काउंटर है।
मैं देखने की अपेक्षा करेंगे मेरी labels
एक ही पंक्ति पर दिखाया अगर frame
काफी बड़ी है और लेबल अन्य लाइनों को लपेट जब मैं चौड़ाई हटना। लेकिन इसके बजाए, केवल एक सिंगल लाइन प्रदर्शित नहीं है जिसमें कभी भी लपेट नहीं है ... कभी भी।
क्या किसी को पता है कि flow layout
scroll pane
शामिल होने पर क्यों लपेटता है?
अगर मैं scroll pane
सब एक साथ हटाने और content panel
सीधे frame
में डाल दिया, वांछित रैपिंग प्रभाव होता है, लेकिन frame
ऊंचाई content panel
ऊंचाई यह सिर्फ गायब हो जाता है की तुलना में छोटे सिकुड़ जाता है।
विचार यह है कि मैं अपने labels
को जरूरी होने पर लपेटना चाहता हूं लेकिन अगर यह ऊपर/नीचे स्क्रॉल करना है तो हमेशा दिखाई दे।
इसे ठीक करने के तरीके पर कोई सुझाव?
धन्यवाद।
यह जरूरत/अब तक अपेक्षा के अनुरूप ठीक उसी तरह काम करने लगता है! आइए आशा करते हैं कि ओरेकल स्विंग में अधिक निवेश करेगी, सूर्य की इच्छा थी! बहुत बहुत धन्यवाद! – Jeach
क्या आप कहेंगे कि फ़्लोलाउट में बग हैं या क्या आपको लगता है कि इस तरह से व्यवहार करने के लिए सूर्य का इरादा था? WrapLayout इतना अधिक समझ में आता है कि यह स्विंग का हिस्सा होना चाहिए! – Jeach
यह कोई बग नहीं है क्योंकि कोई कोड नहीं है जो गतिशील रूप से पसंदीदा आकार को पुन: गणना करने का प्रयास करता है। जिस तरह से किसी ने इसे काम करने के लिए डिजाइन किया है। – camickr