"गंभीर" जावा जीयूआई ऐप में, आपके पास अपने कई जीयूआई तत्वों के पीछे मॉडल होंगे: DocumentModel
JEditorPane
का समर्थन करते हुए, उदाहरण के लिए, या JList
के पीछे।क्या स्विंग वर्कर थ्रेड के बाहर एक मॉडल को बदलना ठीक है?
हमें हमेशा स्विंग कार्यकर्ता धागे के बाहर से जीयूआई परिवर्तन न करने के लिए कहा जाता है और इसके आसपास काम करने के लिए SwingUtilities.invoke...()
दिया जाता है। ठीक है, मैं उसके साथ रह सकता हूँ! जीयूआई घटकों के गुणों को सीधे बदलते समय यह निश्चित रूप से जरूरी है (और अच्छी तरह से काम करता है)।
आदर्श रूप से, मेरे अधिकांश जीयूआई-दृश्य परिवर्तन मॉडल के लिए होंगे, न कि जेकंपोनेंट्स के लिए, वैसे भी। लेकिन क्योंकि वे जीयूआई-दृश्यमान हैं, क्या वे जीयूआई परिवर्तन के रूप में "गिनती" करते हैं? अर्थात। घटनाओं को बदलें और श्रोताओं को आवश्यक decoupling प्रदान करते हैं, या मॉडल परिवर्तनों को invoke...()
में भी लपेटने की आवश्यकता है?
शायद स्विंग पेशेवरों के लिए पुरानी टोपी, लेकिन मुझे कोई संदर्भ नहीं मिला जो स्पष्ट रूप से एक या दूसरे तरीके से बताता है।
-1: उत्तर नहीं जो मैं सुनना चाहता था! (बस मजाक कर रहे हैं, +1) धन्यवाद! –
स्विंग थ्रेड मुद्दों के बारे में डीबगिंग के बारे में, मैं अत्यधिक इस लिंक की सिफारिश करता हूं: http://weblogs.java.net/blog/alexfromsun/archive/2006/02/debugging_swing.html चेक थ्रेडवियोलेशन रेपेंटमैनेजर ने मुझे बहुत समय बचाया। –
स्विंग टेक्स्ट * कुछ * ईडीटी को घटनाओं का स्थानांतरण करता है। बेशक यह सिर्फ एक बड़ा गड़बड़ बनाता है। –