Ardulink is a complete, open source, java solution for the control and coordination of Arduino boards.
It defines a communication protocol and a communication interface allowing several protocol implementations.
It has a ready java SWING components collection able to communicate with Arduino. It has a network client/server technology for remote control purpose.
It has a ready java console, a GUI with many pre-configured components to be connected with your Arduino in few seconds.