Those examples are pretty cool.
A particle system is reasonably easy, make a particle class that stores velocity and position in X and Y, provide a simple update() method that applies the motion and gravity etc. Provide a paint() method that draws the particle… in the simplest case, a particle uses just a single image. With the standard java Image / Swing libraries, you can load up a semitransparent PNG if you want to make smoke, and you can use rendering hints to adjust transparency (eg. to make it fade away at the top). one picture, but a nice fluid effect.
Some code to spawn many of these, add them to a list as you create them, remove them from the list as they die.
I will post some example code when i get a chance.
Edit: Here you go:
http://www.juddman.com.au/java/Particle.jar
It’s nowhere near as flashy as the above, but it’s using nothing but java libraries.
Unzip it to get source the code.
Java2D has good performance since JRE1.6.0_10. Not as great as those dedicated libraries, but translucent stuff pushes it the most, and it does ok with that as you should see from the example. (actually, when they’re rotated it gets a bit chunky)