Java: Взаимодействие графического интерфейса с сетевым модулем
Все в порядке, только getCommand должна вызываться в SwingWorker. Почитайте тут. Смысл в том, чтобы все хоть сколько-либо длинные операции выполнять в отдельном потоке, не блокируя UI.
добавь своему свинг объекту MouseListener и KeyListener. и в результате нужных сочетаний клавиш клавиатуры или на mouseReleased вызывай sendToServer(command)