Foxtrot Logo Logo


The Problem

Asynchronous Solution

Synchronous Solutions


Foxtrot & Swing


Foxtrot is a small but powerful framework for using threads with the JavaTM Foundation Classes (JFC/Swing).

It is compatible with the J2SETM, and has been tested with version 1.3.x, 1.4.x, 5.0.x. and 6.0.x

The jar containing the Foxtrot core classes is called foxtrot-core-<version>.jar, and should be included in the classpath.

Below you can find an example of how to set the foxtrot core classes in the classpath.

Let's suppose that your Swing application is contained in my-swing.jar, that the main class is called my.swing.Application, and the Foxtrot core classes in foxtrot-core-3.0.jar; then you should start your application with a command line similar to this one (under Windows):

> java -classpath foxtrot-core-3.0.jar;my-swing.jar my.swing.Application

or this one (under Linux):

> java -classpath foxtrot-core-3.0.jar:my-swing.jar my.swing.Application

The Foxtrot framework is released under the BSD license.

It is possible to use Foxtrot to develop and sell commercial Swing applications, provided that the requirements of the BSD license are met.
These requirements aren't restrictive at all, and roughly say that when Swing applications developed using Foxtrot are redistributed (along with Foxtrot's binaries or source code), the Foxtrot license must be redistributed as well, for example in the documentation of the Swing application.

A nice suggestion may be to use a Help/About dialog similar to Internet Explorer's, with a sentence like this:

"This application has been developed using Foxtrot (
Foxtrot is released under the BSD license, see the included documentation for further information".