In this case it's not very hard to do. Follow the steps:
1) Think on how you are going to store characters on server, to maintain them synchronized.
2) Implement Structure where you are going to store characters
3) Follow some simple tutorial about TCP(skip this step if you are familiar with TCP)
4) On client method, implement functions to send/recieve messages from server(message reciever must be in another thread, because while recieving messages, client can block the interface)
5) Create some xml sample for your communication or just create your protocol
6) Add key listener
6.1) Process key event
6.2) Create message to send to server
7) Create server, which listens on some port and creates a thread per connection

Put your implemented structure in 2) in static class(with private constructor), with synchronized setters, getters and another methods(this will permit every access at any time from any class to updated data)
9) Implement packet parser, which is going to translate packet in values and store them in class implemented on

10) When recieved a packet, after it's stored on class

imlement another xml or your own protocol, to send to other clients update of client position
11) After packet created send it to all existing connections(for example)
12) On client side handle the packet and move the character to needed position
This is not that hard to implement what you need.. You just need to understand well how TCP works.(belive me things are getting much harder when you include anti-cheating, more protections, more calculus, trying to take of some load of server computation, having more functionalities)
If you need more help let me know.
~ww~