Today I am looking around which library or framework could make my life easier while developing with Swing.
For Swing I need nice components, dialogs, wizards, background threads, etc.
In additation to this I will need ‘easy’ logging, ‘easy’ translation, beans binding and so on. The final requirements are not fixed at the moment so I will take just a survey 😉
So whats the difference between an ordenary ‘libray’ and the hip ‘framework’?
I think the main difference between a framework and a library is, that you have to call the libraries methods directly from code. Swing itself is a framework, so it calls your methods; e.g. your ActionListener’s listen to an action from Swing and will be called from Swing. That means a framework uses the hollywood principle or sometimes called dependency injection.
Let me start with the ‘EierlegendeWollmilchsäue’ (the more bigger frameworks):
- Spring richclient (Apache License 2.0). Actions, bars and more via spring beans, data binding and validation, view management, dialogs, wizards, progress bars, simple I18N etc. Start with the documentation there or here.
- OpenSwing Framework: a lot of components, beans binding, ORM classes, spring integration, authorization management, logging, translation. See here for more information.
- The dev.java.net bundle; namely: Swing Application Framework and Beans Binding (LGPL). The AppFramework is currently not active, but nevertheless it offers some nice features.
- Genuine (LGPL) is a client framework for Java Swing applications for which it provides basic infrastructure.
There are some smaller, but very nice libraries and frameworks:
- Here I listed some Open Source Docking Frameworks. My favourite one from the user perspective is NetBeans and from the developer perspective it is MyDoggy.
- Simple Logging Facade For Java (MIT). I used it as facade for the jdk1.4 logger, because the methods are more convenient.
- Java Help is now Open Source
- Wizard (CDDL) So what?
- Datatip: expands your tooltips
- SwingLabs: offers some nice components e.g. for simple authentication.
- l2fprod: offers some really nice components (property editor, option dialog,…) and beans binding.
- JGoodies: binding, validation, ….
- Thinlet
- Kunststoff Look And Feel
- Visual Library for drawing graphs and other visual stuff.
- famfamfam icons
Do you know other free libraries or frameworks, which could be useful for Swing development?