एक कार्रवाई में एक बटन के लिए लिस्टर हम फ्लाई पर एक फॉर्म बनाना चाहते हैं।कोडनाम एक गतिशील रूप से बनाया गया फॉर्म, कैसे "पीछे"
जैसे कुछ की तरह
Button b = new Button("Clickme");
b.setActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Form f = new Form();
Container c = new Container();
...
f.addComponent(c);
f.show();
}
});
कौन सा ठीक काम करता है ..... लेकिन "वापस" बटन
किसी को भी एक ActionListener में एक गतिशील रूप को लागू करने का सही तरीका पता है, काम नहीं करेगा या एक पूर्वनिर्धारित रूप के लिए कूद और कार्रवाई श्रोता?
धन्यवाद
जेम्स
हाय शाई, उत्तर के लिए धन्यवाद। बहुत भाग्य नहीं है। मेरे पास एक रूप में एक सूची है। प्रत्येक सूची आइटम में एक बटन होता है, उस बटन में एक एक्शन लिस्टनर होता है जो फ्लाई पर एक फॉर्म उत्पन्न करता है। मैं listrenderer क्लास पर वापस ड्रिल कर सकता हूं, लेकिन उस बिंदु पर getComponentForm() को कॉल करने से एनपीई मिल जाता है ..... इसलिए सुनिश्चित नहीं है कि parentForm.showBack() को सेट करने के लिए पैरेंटफॉर्म कैसे प्राप्त करें। – jamesarbrown
आपको पिछले फॉर्म को फिर से उत्पन्न करने की आवश्यकता है, यह वही है जो हम जीयूआई बिल्डर में करते हैं। वैकल्पिक रूप से आप स्पष्ट स्मृति लागत के प्रभाव के साथ रैम में फॉर्म उदाहरण रख सकते हैं। –
ठीक है, यह नहीं पता था कि जब कोई नया उत्पन्न होता है तो पुराने फॉर्म ऑब्जेक्ट को स्मृति से मुक्त किया जाता है। एक चक्रीय तरीके से पुन: संरचना करने के लिए एक विचार होगा। – jamesarbrown