What is Ferris Swing

Ferris Swing is a project containing the reusable swing components of The Ferris Foundation plus classes which enhance or extend the capabilities of the objects already in javax.swing Making a swing component generic enough to be reused by multiple applications is a great challenge. Typically applications have very specific UI requirements so the components which end up in a project like this are technically reusable but not applicable to other business needs. So it is a tricky balancing act between an application and a shared library like this to ensure what ends up in Ferris Swing really is reusable. Worse case scenario, a component should be developed with application-specific defaults but be configurable enough so those defaults can be overriden by other applications.

In general the packages of this project follow the packages of javax.swing. However, org.ferris.swing.ui, is special. This package contains fully functioning reusable JFrame , JDialog, ..etc objects. These are complete reusable User Interface screens. They are composed of both standard JDK swing components and the components developed in Ferris Swing. Applications can either reuse these User Interface screens or extend them to suite their business neeeds.

Examples

DisableAllAndExecuteActionListener

This is an implementation of ActionListener so can be passed to any event handler. When the event occures, this class will first disable the component and all children components and set the cursor to a wait cursor. Next, it will run execute() to perform any action you need - typically a long running action. Finally it will enable all components again and set the cursor back to the default. Implementations of this class need to define the execute() method.