कुछ समय पहले मैंने this question से पूछा था। सभी समाधान कामकाज हैं।क्या जेएलिस्ट के लिए स्विंग के एमवीसी कार्यान्वयन में कुछ गड़बड़ है?
अब यह नहीं हो सकता है। मुझे लगता है कि यहां कुछ गड़बड़ है, लेकिन मैं यह नहीं बता सकता कि यह स्विंग का एमवीसी मॉडल है जो अवधारणात्मक रूप से गलत है, या यदि यह मेरी सोच है जो अवधारणात्मक रूप से गलत है।
यहां समस्या फिर से है। मैं दस्तावेज़ के पृष्ठों के लिए थंबनेल की सूची लागू करने के लिए JList
का उपयोग कर रहा हूं। यदि उपयोगकर्ता सूची से कोई अन्य थंबनेल चुनता है, तो वह पृष्ठ लोड हो जाता है। ऐसा करने के लिए मैंने को JList
पर जोड़ा, जब चयन में परिवर्तन होता है, तो वह उस पृष्ठ को लोड करता है। लेकिन उपयोगकर्ता दूसरे नियंत्रण का उपयोग कर पेज भी बदल सकता है। स्वाभाविक रूप से, मैं चाहता हूं कि यह पृष्ठ यहां चुने गए थंबनेल सूची में दिखाई दे। तो JList
अद्यतन करने के लिए मैं setSelectedIndex()
। दुर्भाग्यवश इसका ListSelectionEvent
बढ़ाने का अवांछित प्रभाव है जो श्रोता को पृष्ठ को फिर से लोड करने का कारण बनता है।
अब क्या गलत है? मैंने मॉडल को कहीं और से बदल दिया है, इसलिए स्वाभाविक रूप से मैं दृश्य को स्वयं अपडेट करना चाहता हूं, लेकिन मैं नहीं चाहता कि यह ईवेंट ट्रिगर करे। स्विंग एमवीसी सही लागू नहीं कर रहा है? या क्या मैं यहाँ एक बिंदु खो रहा हूँ?
महान जवाब के लिए धन्यवाद हर कोई!मैंने @ ब्रिटिशमत्त के जवाब को स्वीकार किया, क्योंकि यह सबसे विस्तृत और अंतर्दृष्टिपूर्ण है और इसमें सबसे साफ समाधान है। समस्या यह है कि पृष्ठ को लोड करने वाला घटक यह देखना चाहिए कि उसे उसी पृष्ठ को लोड करने का अनुरोध किया गया था और इसे नहीं करना चाहिए। लिंक बहुत उपयोगी थे। मुझे अभी भी लगता है कि स्विंग का एमवीसी मॉडल दोषपूर्ण है। उन्हें पारंपरिक तरीके से जाना चाहिए था। उनके मॉडल की तुलना में उनका मॉडल अधिक परेशानी प्रतीत होता है। –
मुझे कई बार श्रोता अपडेट के साथ एक ही समस्या का सामना करना पड़ा है। कल्पना करें कि क्या आपके पास एन घटक हैं जिन्हें एक-दूसरे को अपडेट करना है ... भले ही आप एक वास्तविक प्रदर्शन परिवर्तन की जांच करें, यह तय करने के लिए कि किसी ईवेंट को आग लगाना है या नहीं, तो एन-1 घटकों को अन्य एन -1 घटकों से निकाल दिया जाएगा वे अद्यतन हो जाते हैं। – Timmos