2011-05-31 7 views
8

क्या एक JComponent से सभी श्रोताओं को हटाने का कोई आसान तरीका है?SWING JComponents पर श्रोताओं को कैसे हटाएं

JComponent widget = getComponentOverScaryMethod(); 
EventListener[] listners = widget.getListeners(EventListener.class); 
for (EventListener l : listners) { 
    widget.remove*RandomListener*(l); 
} 

पृष्ठभूमि:

मैं श्रोता (यादृच्छिक प्रकार) के एक अज्ञात राशि के साथ एक JComponent है। चूंकि विजेट को दृश्य भाग से हटाया जाना चाहिए (और फिर से आवश्यकता नहीं होगी) इसे नष्ट किया जाना चाहिए (और श्रोताओं को हटाया जाना चाहिए)।

अग्रिम धन्यवाद जोआन

+1

घटक का फिर से उपयोग नहीं किया जाएगा? – RMT

उत्तर

1

अगर आप माता-पिता इसे फिर से घटनाओं के लिए कभी नहीं शुरू किया जा चाहिए और से विजेट को निकालने श्रोताओं को जीसी

द्वारा स्वचालित रूप से मुक्त किया जाना चाहिए y कारण श्रोताओं को मुक्त नहीं किया जाएगा एक रिसाव है जो विजेट को तब तक पहुंचने योग्य रखता है जब यह