views:

222

answers:

2

I want to be notified when a FLex Panel gets or loses focus. I've overridden the focusInHandler() and the focusOutHandler(), but they don't get called when I click on the panel.

The panels style changes indicating that it has the focus, but the handler doesn't get called.

What am I missing?

A: 

Have you tried to explicitly listen for that event:

myPanel.addEventListener(FocusEvent.FOCUS_IN, myEventHandler);

and made sure that it was getting called?

clownbaby
I tried that, it's not getting that event either. Not sure why.
ablerman
Alright, you should update your post with some sample code.
clownbaby
+2  A: 

Containers (and implicitly panels) aren't really focusable. Meaning that simply clicking on an empty container won't give it focus, and in consequence, won't trigger the event handler for "focusIn". In order for a container to "gain" focus, a child of that container, that implements IFocusManagerComponent interface, has to gain focus.

So if you want your panel to trigger the "focusIn" event when clicking on it, you should focus a focusable child of that panel on mouse click.

bug-a-lot