2010-09-07 9 views
5

मैं इस प्रकार MigLayout का उपयोग कर एक साधारण स्थिति पैनल का निर्माण करने की कोशिश कर रहा हूँ:एक कंटेनर की सीमा से अधिक से MigLayout को रोकने के लिए

setLayout(new MigLayout("fillx", "[][p]")); // removing constructor args makes no difference 
add(createStatusLabel(), "span 2, wrap"); 
add(createProgressBar(), "growx, pushx"); 
add(createCancelButton(), ""); 

यह रूप में लंबे समय स्थिति स्थिति लेबल द्वारा प्रदर्शित संदेश छोटा है के रूप में ठीक काम करता है वर्तमान पैनल के आकार के भीतर फिट होने के लिए पर्याप्त (रद्द करें बटन सही-सही है, और प्रगति बार शेष स्थान लेने के लिए आकार बदलता है)। यदि स्थिति संदेश बहुत लंबा है, तो इसे फसल नहीं किया जाता है, और क्षेत्र को कंटेनर की सीमाओं से अधिक होने का कारण बनता है, जिसके परिणामस्वरूप रद्द बटन को स्क्रीन से धक्का दिया जाता है।

इस पर होने से रोकने के तरीके पर कोई सुझाव?

धन्यवाद

उत्तर

8

100% करने के लिए लेबल की अधिकतम चौड़ाई सेट करके देखें।

आप "span 2, wrap, wmax 100%"

मेरी परीक्षणों में करने के लिए लेबल के लिए लेआउट बदल कर ऐसा कर सकते हैं, मैंने पाया कि यह अभी भी पूरी तरह ठीक नहीं था, इसलिए आप लंबाई का एक छोटा सा घटाना चाहते हो सकता है (कुछ wmax 100% - 10px की तरह) इसे किनारे से दूर लाने के लिए।

+1

धन्यवाद - मैं सिर्फ उसी समाधान के साथ अपने स्वयं के प्रश्न का उत्तर देने के लिए लॉग इन कर रहा था, लेकिन आपने मुझे इसे हराया। मैंने यह भी पाया कि 100% बहुत बड़ा था - संभवतः सीमा या इंसेट के लिए अनुमति नहीं दे रहा था। मैंने चौड़ाई अभिव्यक्ति में "पैरेंट" संदर्भ का उपयोग करने का भी प्रयास किया, लेकिन मुझे लगता है कि MigLayout अब इसकी अनुमति नहीं देता है। (मैं आपको वोट दूंगा लेकिन मेरे पास अभी तक पर्याप्त अंक नहीं हैं) – zorgbargle

+0

और यही कारण है कि मैं इंटरनेट से प्यार करता हूं। आप दोनों को धन्यवाद! –

संबंधित मुद्दे