good gui design?

I was wondering what is the proper way to design a gui that is abstracted from the core logic of my application. How do you set up the file structure so that comands can be passed form the GUI to the core logic and back? I have read about using a controller that registers all references, but are thee other, better ways?

This kind of stuff is typically done using some form of Model View Controller (MVC). There are many tutorials on this, so I won’t go into details. The main idea is that you split up what you want to represent (Model), how you represent it (View) and how you interact with it (Controller).
There are a couple of frameworks to help you implement your GUI in this way such as jgoodies binding and swinglabs databinding.

Thanks I will look into it