I am not sure if I understand your question, but I'll try to give an answer and a few ideas:
If you wish to implement a user interface for your programme, you must first define what your user can do with your programme. One popular way is to define use cases, and infer the interface from it. Let's say rather that we define functionalities from these use cases. So clearly you don't need that step anymore, since you have the kernel of your app done.
Your app is about pushing requests to a server to have them processed, and get responses. These requests, and their parameters, constitute a language understood by the server. In the same manner, the responses are a language the clients can understand, so you can model your UI around the requests language. If that language is simple enough, you can represent it as a tree, which is easy to implement in a UI.
You have basically three options:
text input UII: it's supposedly the simplest of all,
graphical UII (swing for instance),
web UI
In all three cases, the interface can be modeled as a list of menus and submenus to cover all the possibilities of requests: each request is an entry of your first menu, then each submenu level represent a refinement of the selected request. You can see here the resemblance with a tree I hinted at earlier. for a graphical UI, or a web one (after all it's a graphical UI too), this is trivial almost to achieve: you will find plenty of tutorials on the web for that. For text input, you can just display a numbered list of items (the menu), and ask the user to pick a choice.
Some notes:
Your app as it stands, models the interaction of several clients with one server. I am not sure how you can have that in your UI: perhaps you can enhance the language with a set of commands to spawn and manage clients, as well as indicate which client should send which requests.
If you feel adventurous and chose the text input, you could try modeling a real language to represent your queries, and implement a parser for that, this is a very broad topic too, but quite interesting. You might get into that later on in your studies anyway.
If the requests are complex or tedious to input, you could devise a template system, where the user could create a request template, name it, and then refer to it later on instead of inputing the same request again. See how we're getting closer to a small programming language here.
Web apps in the java world are usually based on fairly complex frameworks and toolings, you'll probably want to start with the other options first to get a good idea of UI.
As mentioned in my comments, for a graphical UI, try an IDE like eclipse or netbeans which let you easily define everything graphically and hook code to specific events (like pushing a button).