रेंडरर कोशिकाओं के लिए घटकों लौटने के लिए एक कारखाने की तरह लग सकता है, लेकिन वास्तव में यह फ्लाईवेट दृष्टिकोण प्रतिपादन अनुसरण करता है और सभी कोशिकाओं प्रतिपादन के लिए ही घटक का उपयोग करता है (getListCellRendererComponent()
की प्रत्येक कॉल को पुन: कॉन्फ़िगर माना जाता है एक विशिष्ट सेल के लिए एक ही घटक उदाहरण और इसे वापस कर दें ताकि सेल को प्रस्तुत किया जा सके)।
इस तरह, आप JList
(साथ ही JTable
और JTree
) प्रत्येक सेल के लिए घटकों को कम करने के बिना बड़ी मात्रा में कोशिकाओं को प्रदर्शित कर सकते हैं। साइड इफेक्ट के रूप में, रेंडर घटक घटनाओं का जवाब नहीं दे सकता है, क्योंकि इसे केवल रेंडर लूप के दौरान उपयोग किया जाता है, लेकिन घटक पेड़ में दिखाई नहीं देता है।
नील Coffey कहा, तुम JList
(JTable
, JTree
) करने के लिए अपने श्रोताओं में जोड़ सकते हैं बजाय, और प्रेषण करने के लिए जो सेल प्रभावित हुआ है और इस तरह सेल विशिष्ट तर्क से निपटने के सहायक विधियों (locationToIndex(...)
, getCellBounds(...)
) का उपयोग बस के रूप में।
स्रोत
2009-04-14 08:02:44
बहुत अच्छा सवाल है। मैंने सोचा कि यह आइटम लिस्टेनर्स के साथ कुछ करने के लिए हो सकता है, लेकिन अब मुझे ऐसा नहीं लगता ... मैंने नमूना कोड खोजने की कोशिश की लेकिन सफल नहीं हुआ। – Uri
हाय, मुझे एक ही समस्या का सामना करना पड़ रहा है, क्या आप समस्या को हल करने में सक्षम हैं? – user236501