swt - RCP overrided Composite dispose method not called -
i have created own compound composite extending composite class in e4 application.
i have override dispose method never gets called. if add dispose listener on compound composite or of widgets contains listener called.
could explain why?
here example.
public class mycomposite extends composite{ public mycomposite(){ this.adddisposelistener(new disposelistener(){ @override public void widgetdisposed(disposeevent e) { system.out.println("this printed"); } }); } @override public void dispose(){ system.out.println("this not printed"); super.dispose(); } }
i have read javadoc dispose method , says:
note: method not called recursively on descendants of receiver. means that, widget implementers can not detect when widget being disposed of re-implementing method, should instead listen dispose event.
for behaviour seeing , javadoc above, seems dispose method can not override because ignored. interpretation correct?
for behaviour seeing , javadoc above, seems dispose method can not override because ignored. interpretation correct?
"can not overridden" strong, since technically can override it, correct. overriding not have desired effect have seen.
to handle disposal in composite, disposelistener correct way. see question: eclipse rcp: how , when correctly unsubscribe composite eventbroker?
Comments
Post a Comment