Since treeData is private, why not use a WeakReference?
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/WeakReference.html


Cheers,
Chris


2009/3/13 Greg Brown <[email protected]>

> I think such a scenario may be developer error. We can't reliably detect
> when a component is or is not part of the component hierarchy: a component
> can tell when it has been added or removed, but not when an ancestor has
> been added or removed.
>
> On the other hand, an application developer knows when a component is added
> or removed and can decouple the component from the data.
>
> Swing might have the same issue - how is it handled there?
>
>
> On Mar 13, 2009, at 5:41 PM, Todd Volkert wrote:
>
>  Scenario:
>>
>> 1) 'treeView' is created with 'treeData' and added to the component
>> hierarchy.
>> 2) 'treeView' adds itself as a ListListener  on 'treeData', causing
>> 'treeData' to maintain a reference to 'treeView'
>> 3) 'treeView' is removed from the component hierarchy, but the user
>> still needs a reference to 'treeData'.
>>
>> Result: 'treeView' never falls out of scope, and the user has no way
>> to release the reference to it since it used a private handler as its
>> event listener.
>>
>> Should such components only listen for data events while they're
>> attached to the component hierarchy?
>>
>> -T
>>
>
>

Reply via email to