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.
|
|||||||||||||
|
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.
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. | |||
|