Foxtrot is an easy and powerful API to use threads with the JavaTM Foundation Classes (JFC/Swing).
The Foxtrot API are based on a new concept, the Synchronous Model, that allow you to easily integrate in your Swing code time-consuming operations without incurring in "GUI-freeze" problem, typical of Swing applications.
While other solutions have been developed to solve this problem, being the SwingWorker (see also here for an update) the most known, they are all based on the Asynchronous Model which, for non-trivial Swing applications, carries several problems such as code asymmetry, bad code readability and difficult exception handling.
The Foxtrot API cleanly solves the problems that solutions based on the Asynchronous Model have, and it's simpler to use.
Your Swing code will immediately benefit of:
* code symmetry and readability
* easy exception handling
* improved mantainability
JGraph X is the next generation of Java Swing Diagramming Library, factoring in 7 years of architectural improvements into a clean, concise design. JGraph X provides a simple, powerful API, as well a more application-centric feature set. The result is a low learning curve and faster implementation of customizations in your development. JGraph X shares the core model of mxGraph, so your JGraph X application more easily ports directly to an mxGraph web application.
Java provides a neat way to carry out long lasting jobs without have to worry about threads and hanging the application. It's called SwingWorker. It's not the latest thing on Earth (released with Java 1.6) and you may have already read about it. What I never came across was a practical example of the swing worker.