JSR 226, Scalable 2D Vector Graphics for J2ME, supports rendering sophisticated and interactive 2D content.
The Scalable Vector Graphics (SVG) 1.1 specification (available at http://www.w3.org/TR/SVG11/) defines a language for describing two-dimensional graphics in XML.
SVG Tiny (SVGT) is a subset of SVG that is appropriate for small devices such as mobile phones. See http://www.w3.org/TR/SVGMobile/. SVGT is a compact, yet powerful, XML format for describing rich, interactive, and animated 2D content. Graphical elements can be logically grouped and identified by the SVG markup.
Java ME applications using SVG content can create graphical effects that adapt to the display resolution and form factor of the user's display.
SVG images can be animated in two ways. One is to use declarative animation, as illustrated in Play SVG Animation. The other is to repeatedly modify the SVG image parameters (such as color or position), through API calls.
While it is possible to produce SVG content with a text editor, most people prefer to use an authoring tool. Here are two possibilities:
Ikivo Animator - http://www.ikivo.com/animator/
Adobe Illustrator - http://www.adobe.com/products/illustrator/main.html