Yet Another Swing Library (YASL)
What Is It?
YASL provides a light-weight framework for developing Swing-based applications along with a library of Swing components and utilities. Swing is a much-maligned but rich library for developing Java-based gui applications. Despite what critics say, you can develop robust and responsive desktop applications with Swing. Unfortunately, Swing doesn't provide a ready-made framework for building applications although the building blocks are there. YASL attempts to provide that framework.
YASL is based on the Model-View-Controller pattern. It divides an application into gui components (View), action classes to handle user-driven events (Controller), and singleton classes (Model). The actions and singletons are stored in separate maps in key-class pairs. The initialization of actions and singletons as well as the mapping of menu items to actions can be handled through xml configuration or in the code or both. The framework provides the glue that holds the components together and facilitates their interaction.
- The framework provides ready-to-use tools for:
- Managing actions
- Managing singletons
- Threading calls to actions
- User preferences management
- Resource bundles
- Splash pages
- xml configuration
- Logging with SLF4J
- Dynamic jar loading
YASL is written entirely in Java and the library has been compiled using JDK 1.4.