The JME tutorials use a special FlyByCamera controlled by an app state but really there is no reason to do that… it could have just been an app state from the beginning and would have made more sense. (hindsight is 20/20)
Anyway, there is a Lemur Gem on this very topic. Hopefully it answers your questions: