java - Not sure how to get an object to display after loading from ObjectInputStream() -
सार्वजनिक शून्य लोड () {अंतिम JFileChooser fc = new JFileChooser (); Int returnVal = fc.showOpenDialog (यह); अगर (returnVal == JFileChooser.APPROVE_OPTION) {try {fileInputStream f_in = नई फ़ाइल इनपुटस्ट्रीम (fc.getSelectedFile ()); ObjectInputStream obj_in = नया ऑब्जेक्ट इनटस्टस्ट्रीम (f_in); फ़्रेम F2 = (फ़्रेम) obj_in.readObject (); obj_in.close (); f2.setVisible (सही); } पकड़ (अपवाद पूर्व) {}}}
मैं एक कॉल जोड़ने की कोशिश करूँगा सेट विजिबल कॉल से पहले फ्रेम पर पैक विधि के लिए यह चाहिए इसे डिस्प्लेबल और ठीक से आकार में होना चाहिए।
FileInputStream f_in = नया FileInputStream (fc.getSelectedFile ()); ObjectInputStream obj_in = नया ऑब्जेक्ट इनटस्टस्ट्रीम (f_in); फ़्रेम F2 = (फ़्रेम) obj_in.readObject (); obj_in.close (); F2.pack () f2.setVisible (सच);
यदि यह काम नहीं करता है, तो f2.isDisplayable () के पैक को कॉल करने के बदले मूल्य की जांच करें। यदि यह गलत है, तो इसका मतलब है कि फ़्रेम किसी मूल स्क्रीन संसाधन से जुड़ा नहीं है (जो मुझे विश्वास है कि पैक को ध्यान रखना चाहिए, लेकिन मैं इसे एक deserialization परिदृश्य में अनिश्चित)।
एक और समस्या JVM के बीच असंगतता हो सकती है, जो फ्रेम को क्रमबद्ध करती है और जो एक फ्रेम है जो फ्रेम को स्विंग घटकों में शामिल करता है,
सामान्य तौर पर, अगर आपके पास कुछ धारावाहिक करने के बारे में कोई विकल्प है, तो यह केवल डेटा मॉडल ही होना चाहिए, न कि दृश्य / दृश्यमान होना चाहिए। प्रस्तुति / जीयूआई परत इसलिए यदि यह एक विकल्प है, तो मैं पूरी तरह से आपके वर्तमान कार्यान्वयन दृष्टिकोण से बचने वाला हूं।
Comments
Post a Comment