ⓘ Swing Application Framework. The Swing Application Framework is a Java specification for a simple application framework for Swing applications, with a graphical ..


ⓘ Swing Application Framework

The Swing Application Framework is a Java specification for a simple application framework for Swing applications, with a graphical user interface in computer software. It defines infrastructure common to most desktop applications, making Swing applications easier to create. It has now been withdrawn.


1. Features

The JSR 296 specification defines the basic structure of a Swing application. It defines a framework as a small set of extensible classes that define infrastructure common to most desktop applications:

  • support for loosely coupling actions to their presentation.
  • support for loading localized resources;
  • persistent session state;
  • management of application life-cycle, startup and shutdown;

2. Status and roadmap

Development of an open-source Reference Implementation called "appframework" began in 2006. It was originally expected that this implementation would be the means for integrating JSR 296 into the upcoming Java SE 7 Dolphin version of Java, and the project was scheduled to be included in milestone 5 of the Java Development Kit JDK7 development. However, in August 2009, it was announced that the project would not be included, due to an inability to reconcile design flaws and achieve consensus among the JSR 296 team before the milestone 5 deadline.

The original Swing Application Framework implementation has been put on hold indefinitely. It was later withdrawn at the Spec Leads request in June 2011. The last public release of the appframework project was version 1.03.


3. Forks and alternatives

Several forks of the original implementation have been started by open-source communities, and several other application framework libraries have been created to achieve goals similar to those of JSR 296.

Better Swing Application Framework The Better Swing Application Framework project, or BSAF, is a fork of version 1.03 of the original appframework project. BSAF was created at Project Kenai in September 2009 and is currently the most active of the forks. Its goals are to eliminate bugs and execute small design fixes on the original appframework implementation while maintaining compatibility with version 1.03.

Last release BSAF 1.9.1 was 2012. BSAF is still available at SourceForge, which has a button that says "This project can now be found here," that takes you to the now defunct project Kenai.

Guice Utilities & Tools Set The Guice Utilities & Tools Set, or GUTS, is an implementation of JSR 296 that combines the appframework with the Google Guice Dependency Injection library. Like BSAF, it is also hosted at Project Kenai. Unlike BSAF, GUTS is making a break-away from the "problematic singleton" pattern. This project began in June 2009, and is currently not active version 0.1 stuck 2010. Swing Application Framework Fork The Swing Application Framework Fork, or SAFF, is a fork of appframework 1.03. It is currently hosted at GitHub. However, this project has been dormant since October 2009. TreasureMap is a library providing standalone use of appframework 1.03s ResourceMap implementation. NetBeans Platform The NetBeans Platform is a robust Swing application framework, with many more features, as well as much more documentation. Because of the JSR failure/hold, SAF has been removed from Netbeans as of version 7.1. The developers seem to have no desire to provide any alternative, and suggest that the Netbeans platform is the right mechanism for porting SAF projects to a supported platform. Eclipse RCP Eclipse RCP is a big SWT an alternative to Swing application framework, for bigger projects, needs more time for understanding. jGAF - Java Generic Application Framework jGAF is a simple and compact library to quickly build full-featured Java Swing Application. This free open-source framework provides APIs to handle application life cycle, menus, configuration, OS integration, application data persistence, application protection, wizards, preferences, etc.
Free and no ads
no need to download or install

Pino - logical board game which is based on tactics and strategy. In general this is a remix of chess, checkers and corners. The game develops imagination, concentration, teaches how to solve tasks, plan their own actions and of course to think logically. It does not matter how much pieces you have, the main thing is how they are placement!

online intellectual game →