We have been developing a JAVA API to ease the use of Arduino features in JAVA application.
The API basically provides the ability to write Arduino programs in JAVA and uses serial communication behind the scenes to communicate with the Arduino board and make things happen.
We have developed a few samples which show how to write simple program such as "Blink" in Java but also a GUI which allow interacting with the Arduino and a program which gives twitter notifications.
It is all available with a bit of documentation on the project page: https://github.com/ffleurey/JArduino/wiki
Do not hesitate to contact us if you need help. We are very interested in getting your feedback!