According to "A Comprehensive Russian Grammar" by Terrance Wade, short form adjectives are used to describe temporary states.

For example, "Он болен." ('He is (temporarily) sick.')

The long form adjectives are use for more permanent descriptions.

"Он больной." ('He is (chronically) sick.')

With this and the context of your question, "счастлив" would be the correct from to use, because you are happy at a given moment (or for some specific reason), rather than happy all the time.