2012-01-05 9 views
8

स्विंग घटकों के नाम संपत्ति का इच्छित उपयोग क्या है? क्या यह आंतरिक रूप से स्विंग का उपयोग किया जाता है?स्विंग घटकों के नाम की संपत्ति क्या है?

पृष्ठभूमि: एक सहयोगी ने नाम संपत्ति में टेक्स्ट स्ट्रिंग के लिए कुंजी संग्रहीत करके एक अंतर्राष्ट्रीयकरण तंत्र लागू किया। फिर, वह बस सभी स्विंग-तत्वों के माध्यम से चलता है और घटक की नाम संपत्ति में संग्रहीत कुंजी प्राप्त करता है। उन्होंने तर्क दिया कि नाम संपत्ति का उपयोग अन्यथा नहीं किया जाता है और यह करने का यह सबसे आसान तरीका था।

उत्तर

3

क्या यह आंतरिक रूप से स्विंग का उपयोग किया जाता है?

संक्षिप्त उत्तर: हाँ।

लंबा उत्तर: सत्यापित करने में आसान - बस कुछ यूई बनाएं और पेड़ पर चलें। या एफआईआई देखें स्विंग (treenode में दिखाया गया है, कोष्ठक) द्वारा निर्धारित रूप में SwingLabs-Demo (:-) का विरोध नहीं कर सकते हैं,

  • JXTree डेमो काम पर क्लिक करें और एक सरल JFrame के कुछ बच्चों के नाम देखते हैं।
  • परिवर्तन एलएएफ निंबस के लिए, JXTreeTable डेमो कार्य पर क्लिक करें treeTable की स्क्रॉलबार पर माउस ले जाएँ और स्क्रॉलबार बटन के नाम को देखने एलएएफ

अगला सवाल यह है कि द्वारा निर्धारित के रूप में: कि स्विंग करता है आंतरिक सेटिंग अनुप्रयोग कारणों के लिए नाम सेट करने में हस्तक्षेप?

लघु जवाब: मुश्किल बताने के लिए, सबसे शायद नहीं

लंबे समय तक जवाब: आंतरिक सेटिंग्स मैंने देखा है आवेदन की जरूरत के लिए ओवरराइट किया जा की संभावना नहीं है के रूप में वे गहराई से कंटेनर पदानुक्रम में छिपे हुए हैं। वास्तव में, कुछ ढांचे जैसे f.i. एसएएफ संसाधन इंजेक्शन के लिए नाम का उपयोग करता है (इसी प्रकार आप जो भी अपने कॉलेग्यू का वर्णन कर रहे हैं)। मेरा स्वयं (अनियमित) फॉर्मबिल्डर फ्रेमवर्क लेआउट बाधाओं के लिए किया था।

अस्पष्ट (पढ़ें: अपरिभाषित) नाम संपत्ति की परिभाषा दोनों एक फायदा और एक जाल है:

  • adv: हाँ, किसी भी कोड के लिए इसका इस्तेमाल कर सकते हैं, यह कोई वास्तविक अनुबंध
  • जाल है: संभवतः उस संपत्ति के कई प्रतिस्पर्धी उपयोगकर्ता
+0

आपके विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद! मुझे लगता है कि मैं इसे इस तरह से छोड़ दूंगा, क्योंकि यह एक छोटा सा एप्लीकेशन है क्योंकि अन्य कोड हस्तक्षेप का जोखिम बहुत बड़ा नहीं है। – mort

8

javadoc से घटक का नाम "घटक का नाम सेट करें या प्राप्त करें। यह उपयोगी हो सकता है जब आपको टेक्स्ट को प्रदर्शित करने वाले घटक के साथ पाठ को जोड़ने की आवश्यकता होती है।"। तो मुझे लगता है कि नाम का उपयोग करना ठीक है।

आप घटक के गुणों में कुछ भी डाल सकते हैं।

+2

+1। – trashgod

2

मेरे अनुभव में, मुझे स्विंग घटक का नाम सेट करते समय कभी भी कोई समस्या नहीं आई है। स्विंग घटकों के लिए "पत्ती" स्विंग घटकों के लिए (JLabel, JButton, JMenu ...), name हमेशा null स्विंग द्वारा छोड़ा गया है।

जैसा कि @ केलोपत्रा ने उल्लेख किया है, "जटिल" स्विंग घटकों के आंतरिक घटक (उदा। JColorChooser) उनके पास असाइन किए गए नाम हो सकते हैं, लेकिन आप आमतौर पर इन आंतरिक घटकों तक सीधे नहीं पहुंच सकते हैं (कॉम्पोनेंट पदानुक्रम के पेड़ के माध्यम से चलने के अलावा)।

name संपत्ति के उपयोग के अनुसार, यह अक्सर संसाधन इंजेक्शन (i18n) के लिए उपयोग किया जाता है, लेकिन यह यूआई स्वचालन (परीक्षण या डेमो के लिए) के लिए भी बेहद उपयोगी हो सकता है, क्योंकि अधिकांश रोबोट (जैसे फेस्ट स्विंग) नाम से एक घटक खोजने में सक्षम, बशर्ते आप अपने घटकों के लिए अद्वितीय नाम असाइन करें। ग्राहक गुणों के लिए

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