मेरे पास एक बहुत ही विशिष्ट समस्या है, और मैं जानना चाहता था कि जेडीअलॉग के मालिक को बदलने का कोई तरीका है (इसे कन्स्ट्रक्टर का उपयोग करके सेट किया जा सकता है)। मुझे लगता है कि कोई "आधिकारिक" संभावना नहीं है (एक हैक के अलावा), लेकिन मैं यह सुनिश्चित करना चाहता था कि मुझे कुछ याद नहीं आया। विषय पर किसी भी विचार या संकेत उपयोगी होंगे, धन्यवाद ...क्या JDialog के मालिक को बदलने का कोई तरीका है?
उत्तर
, तो एक बेहतर तरीका है:
- अपने सभी संवाद सामग्री को परिभाषित के रूप में JPanel उपवर्गों
- और मौजूदा JPanel उपवर्ग उदाहरण
बिंदु 2 के लिए के साथ एक नया JDialog का दृष्टांत, तो आप निश्चित रूप से पैनल के आलसी मूल्यांकन उपयोग कर सकते हैं (पहली पर दृष्टांत केवल उपयोग करें, फिर पुन: उपयोग करें)।
तुम भी करने के लिए अपने पैनलों (अपना खुद का) कुछ इंटरफ़ेस को लागू की आवश्यकता होगी आप के लिए उन्हें पुन: उपयोग के लिए एक नया JDialog (reinit में पुनः आरंभ कर आम तौर पर सभी क्षेत्रों सामग्री को मिटा देने, या इन क्षेत्रों को वापस स्थापित करने का मतलब है की अनुमति देता है कि उनके डिफ़ॉल्ट मान)।
केवल एक चीज जिसे मैं सोच सकता हूं असुरक्षित हैक के तहत आता है (प्रतिबिंब का उपयोग करें और मालिक को बदलें, लेकिन यह संभवतः जेवीएम के विभिन्न संस्करण के तहत बदल सकता है (एक ही मंच पर एक ही सेंसर से भी))।
शायद आपसे पूछने के लिए एक बेहतर सवाल यह है कि "यही वह है जो मैं करने की कोशिश कर रहा हूं ... क्या मुझे वास्तव में संवाद के मालिक को बदलने की ज़रूरत है या क्या कोई बेहतर तरीका है"? मैं अपने सवाल यह है कि आपके आवेदन जीवन चक्र के दौरान संवाद पुन: उपयोग करने के बारे में है, तो स्वामी परिवर्तित करना चाहते करने के लिए कारणों के बारे में सोच की कोशिश कर रहा हूँ और मैं किसी के साथ नहीं आ सकते हैं ...
j:
मैं एक "नोट" संवाद सेवा करने के लिए जब एक तालिका सेल में पाठ प्रदर्शित करने बहुत लंबा है अपने आवेदन में एक भी "वैश्विक" संवाद के लिए एक समान की जरूरत पड़ा है। इस मामले में, उपयोगकर्ता सेल को होवर या राइट-क्लिक कर सकता है और एक संवाद प्राप्त कर सकता है जो पूरे टेक्स्ट को प्रदर्शित करता है। हालांकि, मैं चाहता था कि संवाद जल्दी से प्रदर्शित हो, खासकर जब होवरिंग हो, तो मैं इसे आसानी से दिखाना और छिपाना चाहता था। मैंने इस संवाद को मुख्य श्रेणी में मालिक के रूप में एप्लिकेशन फ्रेम के साथ बनाने और स्टोर करने का निर्णय लिया। फिर, जब भी कोई विचार जिसके मालिक को फ्रेम था, तो नोट्स संवाद की आवश्यकता होती थी, दृश्य इसे मुख्य वर्ग से प्राप्त कर सकता था। उन मामलों में जहां एक संवाद को नोट्स संवाद की आवश्यकता होती है, तो मूल संवाद उपयुक्त मालिक के साथ नोट्स संवाद का एक नया उदाहरण बना सकता है। चूंकि इन अभिभावक संवाद (कम से कम मेरे ऐप में) बंद होने पर निपटाए जाते हैं, इसलिए अतिरिक्त नोट्स संवाद उदाहरण दायरे और कचरे से बाहर हो जाएगा। उम्मीद है की वो मदद करदे।
पृथ्वी पर आप ऐसा क्यों करना चाहेंगे? – Bombe