I think the preferred way to turn off a Behavior is to
use the WakeupCriteria, not to use setEnable(false),
if the behavior has already been activated.
You can have the WakeupCriteria be an AWTEvent, such as a mouse or key event, and then do a "soft" disable in the Behavior itself.
Note: A Behavior that has WakeupOnElapsedFrames(0) will wake up every frame.
Also, the Bounds of the Behavior will determine if it is a candidate for activation, so you could try changing the bounds dynamically if the other approach(es) don't work.
On a side note, I have had some weirdness with WakeupCriterionAnd and WakeupCriterionOr if I set them after
the behavior has already activated. If I do it before the behavior activates then it is fine, however...