posted 12 years ago
To answer your question: Yes it is.
What you normally do is that you have one class that extends some sort of Window-based container, such as JWindow or JFrame and that takes care of anything that has to do with the topmost graphical object.
You then create classes that extends a suitable component or container, i.e. a JPanel, and from your topmost object, you instantiate new objects of that type. This means that if you need to have say two different panels that shows the same thing, but for different models, you can create two instances of that panel and assign different models to it. An example is if you show stats for two different players. It should look the same, but have the data from the different Player objects.
The best way to learn this, from my experience, is to physically draw your gui on paper and have the different components on different papers and then just move them around. I often do a mock on paper and when I need a UI-component, I actually go to the photo copier and make a new one. Then I modify it or write data on it. I also use small post-its to mark what model instance is used where.