2009-09-30 8 views
6

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

मेरा सवाल यह है कि जावा में कोई नियंत्रण है जो .net में एंकरिंग के समान कार्यक्षमता करता है।
उदाहरण के लिए मैंने एक टेक्स्टफील्ड चुना है और इसे पैनल पर रखा है और इसे ठीक से आकार दिया है। अब जब मैं विंडो (जेएफआरएएम) का आकार बदलता हूं या विंडो को अधिकतम करता हूं तो टेक्स्टफील्ड उसी दूरी को बनाए रखेगा जैसा कि पहले था। मैं netbeans का उपयोग कर रहा हूं और मुझे पैलेट मैनेजर में कोई गुण मिला है जो मेरे प्रश्न का उत्तर देता है। कृपया मुझे एक उदाहरण या कुछ लिंक के साथ समझाएं।

उत्तर

4

जावा घुमाओ लेआउट प्रबंधक का उपयोग करता है आकार और दृश्य घटकों की स्थिति का प्रबंधन करने के। यह कैसे इस लेआउट प्रबंधकों का उपयोग करने पर आधिकारिक जावा ट्यूटोरियल है:

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

और वहाँ

FlowLayout (डिफ़ॉल्ट) सबसे आम लेआउट प्रबंधकों का एक संक्षिप्त विवरण है: यह घटकों छोड़ दिया disposes दाएं और नीचे तक।

सीमावर्ती: यह कंटेनर को उत्तरी, दक्षिण, पश्चिम, पूर्व केंद्र केंद्र में विभाजित करता है। स्थिति के आधार पर केवल एक घटक। सीमा विस्तार पर घटक और केंद्र घटक स्पेस avaiable

ग्रिडलायआउट का उपयोग करता है: आप प्रबंधक को प्रारंभ करते हैं कि यह इंगित करता है कि ग्रिड कितनी पंक्तियां और कॉल है। प्रत्येक सेल का आकार समान होता है और आप शीर्ष बाएं सेल पर घटक जोड़ना शुरू करते हैं।

ग्रिडबैगआउट: सबसे बढ़िया अनाज वाले लेआउट प्रबंधक, आप इसके साथ कुछ भी कर सकते हैं, लेकिन थोड़ा जटिल है, इसके लिए जावा दस्तावेज़ देखें।

NullLayout (जब आप कंटेनर के लेआउट मैनयर को हटा देते हैं): कोई लेआउट मैनेजर नहीं, घटक घटकों पर दिखाने के लिए स्थान और आकार गुणों का उपयोग करता है।

और निश्चित रूप से, अन्य कंटेनरों के अंदर कंटेनर अपने माता-पिता की तुलना में एक अलग लेआउट प्रबंधक का उपयोग कर सकते हैं। लेआउट प्रबंधकों को जोड़ना सीखना एक कठिन कला है।

1

नेटबीन्स के पास मैटिस जीयूआई निर्माता का उपयोग करके जीयूआई डिजाइन करने के लिए अंतर्निहित समर्थन है। यह निकटतम है जिसे आप ड्रैग & ड्रॉप स्टाइल फॉर्म डिज़ाइन पर प्राप्त करेंगे जो VB जैसे वातावरण के साथ उपलब्ध है।

एक फ्लैश डेमो here है।

(व्यक्तिगत तौर पर मैं नहीं इस दृष्टिकोण का बहुत बड़ा प्रशंसक हालांकि के रूप में यह कोड है कि जल्दी से unmaintainable हो जाता है की एक बहुत कुछ autogenerates, खासकर अगर अपने विकास दल में हर किसी को नहीं Netbeans उपयोग कर रहा है कर रहा हूँ।)

0

अगर आपने java.awt.BorderLayout का उपयोग करके केवल एक ही नियंत्रण मिला और BorderLayout.CENTER के साथ अपना नियंत्रण जोड़ना आपकी सबसे अच्छी शर्त है।

यदि आपके पास एकाधिक नियंत्रण हैं तो आपको java.awt.GridBagLayout का उपयोग करने की आवश्यकता है।

gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; 
gridBagConstraints.fill = GridBagConstraints.BOTH; 
gridBagConstraints.weightx = 1; 
gridBagConstraints.weighty = 1; 

जब नियंत्रण आप फिर से आकार करना चाहते जोड़ने:

आप नीचे दिए गए सेट करना होगा।

इसके बारे में यहाँ एक ट्यूटोरियल है:

http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html

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