Just about to learn graphics handling in Java in my university class. So soon I'll understand the Jami code-example as well!
Maybe, maybe not :-) The Jami code example does not use either Swing or AWT, that is, the graphcis handling there, while similar, is not the same as what you'll probably learn.
For graphics, Jami provides a resonably close mapping (there *are* differences) to the intent AVE and ami2d APIs.
The various "KeyListener" "MouseListener" and "MouseMotionListener" things in the code example show a part of Jami that is different to the AVE, and more like the AWT/Swing event model, but again, there are differences. The TimedEvent thing is also something extra Jami provides.
The line "AVEDevice ave = new AVEDevice() " opens the AVE, Application app = ave.open("StarFieldDemo",true) initialises an application object to which we can add AVO components, the "true" signifying that we will use a separate event thread, rather than explicitly doing the lowlevel event stuff ourselves (i.e. in Jami you don't have to use a separate event thread if you don't want to).
The stuff in the code example referring to AVOs (Audio Visual Objects) are all intent/AVE specific, and works differently to AWT/Swing.
Regards,
Gabriel