I am currently busy planning and writing a Java communication API specifically aimed for the Arduino. The API will hopefully wrap all the Arduino C methods and provide 2 way communication between a PC and an Arduino.
With this API I Hope to ease the communication part of developing software for the Arduino and provide an easy way to interface with the device and components created for it.
You can track progress for this API at: http://sourceforge.net/projects/kommunika/
If anyone is interested or would like to see some features implemented please comment your suggestions.