Nobody ever tried to implement a VNC server in Java because Java has no (fast) API to examine the desktop for changes. If you can live with 1 fps or less, you can use the Robot
API :-)
So all you can get is a VNC client/viewer. I experimented a bit with TightVNC because it's free and the sources are available.