Not sure if the subject makes complete sense but what would be the best way
to defer setting properties on a sub component when writing custom Flex
components without getting a null reference? Let's say I create a custom
component that wraps another component, for example a button ...
package
{
class Foo extends Panel
{
protected var _closeButton:Button;
protected var _hasCloseButton:Boolean;
public function Foo()
{
super();
}
public function set hasCloseButtton(v:Boolean):void
{
_hasCloseButton = v;
}
override protected function createChildren():void
{
super.createChildren();
if (_hasCloseButton)
{
_closeButton = new Button();
addChild(_closeButton);
}
}
}
}
There are two ways that I know how to get the close button, either in an
extending class in the overriding createChildren method set _hasCloseButton
= true _and then_ call super.createChildren() or the other way by listening
for a creationComplete event and defer/handle the instantiation of the close
button from there on.
But I think these two ways are sub-optimal so I was wondering how others
solve this problem and what works best in every situation?
Thanks for any advice!
Sascha