The water effect is a classic of demomaking scene. It is very well described on gamedev.net
so I will just present the JAVA implementation here.
EDIT 2014 : I ended up implemeting this effect on iOS. "Fluid" became a mondial hit :) !.
Here is the source code