Last updated April 23, 2013 05:26, by kevijg

Better Swing Application Framework

The Better Swing Application Framework is a fork of the original Swing Application Framework (appframework) reference implementation of JSR 296. Since August 2009, the original Swing Application Framework project has been on hold, and therefore this fork was created to carry on the work until the original project resumes.

The last public release of the original appframework project was version 1.03. The BSAF project currently aims at producing a new release, version 1.9, with the primary goals of improving stability, keeping backward compatibility with SAF 1.03, fixing bugs, updating documentation, and creating more unit tests and examples.

Project Status

  • Stable release - 1.9 GA
  • 1.9.x - maintenance branch. Bug fixes and small, backward compatible improvements will go there.
  • 2.x - a new development branch. API redesign and huge new features will be introduced.

Please consult the Release Notes page for more information.

If you'd like to contribute, please consider joining us in:

  1. Updating and completing the JavaDoc
  2. Creating How-To and Reference articles in the Wiki
  3. Sending patches with bug fixes and improvements
  4. Maintaining the NetBeans plugin: BSAF-121

Message Forums

Forums Page

There are two forums. Announcements is dedicated to official announcements from the project owner. Open Discussion is open to the community.

BSAF is an open source project that highly values the input of its community members. Feel free to ask question and make suggestions on the open discussion forum!

References & Documentation

We're currently actively taking steps to improve and expand our documentation. Links to the SAF 1.03 resources, which are still pertinent to this project since BSAF retains compatibility with it, can be found at the bottom of this page, here.

Demonstration & Examples

Applications using SAF / BSAF
Getting started using NetBeans


@Action How-To

@Action Reference Info


Task Life-Cycle


Application Life-Cycle


You can help with the development of BSAF in several ways.

Report & Discuss

  • Report bugs or request enhancements via the JIRA issue tracker
  • Participate in or start a forum discussion about a bug or requested feature


  • Submit subversion patches for existing bugs
  • Provide new JUnit test cases and/or provide new examples

Review & Improve

  • Review the code and JavaDoc and note where improvements can be made
  • Review the articles, documents, and pages on the Kenai website and make improvements

There are several enhancements currently under consideration, most notably expansion of resource map features. If you think of more, feel free to start a forum thread about them.

Several notes about the architecture of SAF were made in Hans Muller's "swan song" and may be a good starting point for discussions about the structure of the code.


SAF 1.03

(November 2007)

Introduction to Swing Application Framework
(September 2008)

Using the Swing Application Framework
(SDN, July 2007)

JSR 296: Swing Application Framework
The Java Specification Request that started it all

Swing Application Framework (AppFramework) Project
The website of the original reference/prototype implementation of JSR-296

Migration to (Better) Swing Application Framework
(August 2010)

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2014, Oracle Corporation and/or its affiliates
(revision 20160708.bf2ac18)
Please Confirm