The video above illustrates how skins and animations are set up in Flex.
JavaFX’s key-frame based timeline animation is richer and more complex, but ironically, I find Flex’s animation more declarative.
For instance, to move a button from A to B in JavaFX, a Timeline has to be crafted to move the element.
In Flex, the programmer declares that when the location of a button changes, the runtime should apply a particular animation (in Flex jargon, this is known as an “Effect”). The kicker though, is that an effect, being an effect can take shortcuts, for instance, rendering an approximation or a representation in order to maintain framerates.
I find the latter easier. A designer would have little problems embellishing or tuning an existing application without altering application logic.
Given that JavaFX language supports multiple inheritance, this feature could probably be implemented via a Mix-In class.