is a link and a brief description of the Xvnc server (at&t research - site hosted by Cambridge University):
"VNC stands for Virtual Network Computing. It is, in essence, a remote display system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures."
and a link to the hudson Xvnc plugin - which allows its integration to your CI:
Hudson Xvnc Plugin: http://wiki.hudson-ci.org/display/HUDSON/Xvnc+Plugin
"This plugin lets you run an Xvnc session during a build. This is handy if your build includes UI testing that needs a display available."
Your java code can be tested using Jemmy (check Jemmy article) and then properly run on your Hudson CI using the Xvnc plugin - at least in theory as I have not tried it yet, but know those who have :)
NOTE: another interesting site I found is an Xvnc implementation for Android - available on Google Play!