I've allready created small desktop CRUD applications using Java/Swing. In hindsight I'm not quite sure if the overall design of these applications is good. I've also done some reading on MVC and looked at different Swing-tutorials. My problem is, that I've got a very theroatical knowledge of MVC and on the other hand, most Swing-resources don't implement the MVC-pattern.

Now I would like to get my hands dirty and see how MVC is implemented in Swing in a real-world-application. Are there any opensource project you could recommend? It would be also interesting to have more than one project, to see different approaches.

Best fit would be a software, that uses a relational database in the backend, to see an overall design, that I can compare to my former applications.

  • Which resources are you referring to? Most of the resources that were used to teach the pattern to me were in Java using Swing.
    – Rig
    Commented Feb 16, 2012 at 14:27
  • I'm talking about the Oracle Swing-trail. Commented Feb 16, 2012 at 14:29
  • Ah, I see...never really looked at that.
    – Rig
    Commented Feb 16, 2012 at 14:34

1 Answer 1


In my opinion, a full blown app would be more complicated to understand if you are struggling with basic steps.

Having said that, if you are comfortable with individual pieces, perhaps, you can look at different frameworks/tools which assist you in taking over the plumbing and you focus on the business aspect of things.

For instance, there is the

In the end there is no "right" way to do something. If you are exploring, perhaps make a list of whatever you read. Explore them one by one. Do a simple todo application, and figure out what benefits/pains you encounter. Even modelling a simple app, will allow you to think about different things.

most Swing-resources don't implement the MVC-pattern

I am surprised you suggest that. Frames, Panels, Text Components are excellent examples. Perhaps it is worth mentioning, that swing library does not only use the MVC pattern. It also uses a bunch of other patterns, so this might be the source of your confusion.

Wrapping up, I would say, majority of applications could do with some sort of library which handles the windowing/other boiler plate, so you hook your code and are up and running fast. I personally use Netbeans as my IDE, and it allows me even to generate a sample CRUD database application (provided you have a schema). You can use it to prototype and tweak things as you like.

Not the answer you're looking for? Browse other questions tagged or ask your own question.