Spin is a transparent threading solution for non-freezing Swing applications.

Swing is the standard component architecture for developing Java desktop applications. Its exhaustive collection of widgets is the foundation for easy development of rich graphical user interfaces (GUI).

Alas every non trivial GUI sooner or later encounters the problem of "freeze". This annoying behaviour is experienced by users every time the application performs extensive calculations or blocks for network or disk I/O.

We will explain the reason for this problem and explore different techniques to prevent Swing GUIs from "freezing". We will present our project named Spin which offers a - to our knowledge - revolutionary new approach. It offers a solution for transparent thread handling with minimal impact on your application code.