Lightweight User Interface Toolkit

Lightweight User Interface Toolkit (LWUIT) is a Widget toolkit developed by Sun Microsystems to enable easier Java ME user interface development for existing devices, including not only traditional Java ME environments like mobile phones, but also TVs and set top boxes. LWUIT is inspired by Swing and supports many of its features including pluggable look and feel, layout managers, etc.

History
LWUIT was created by Chen Fishbein of Sun Microsystems Israel development center (SIDC) who started developing LWUIT for an internal project. The project grew at which point Shai Almog joined the project which was announced at JavaOne 2008, following the announcement the project was made open source by Sun under the GPL with ClassPath Exception license and gained wide acceptance within the community. LWUIT is known as the Lightweight UI Toolkit, where the word lightweight is used as it is used in Swing to indicate a component model that performs all of its own rendering/event handling.

It has also been used a part of the Brazilian digital TV interactivity middleware, [Ginga] specifically in the Ginga-J technology.

Architecture
. LWUIT is very different from Swing and has taken on features unavailable in Swing such as theming, painters, animations, etc. However features such as MVC, layout managers, renders and the EDT are directly related to Swing. LWUIT is based on a Component/Container hierarchy composite architecture. Containers are Components and can be nested to create elaborate layouts. Components can be styled both via external styles/themes and programmatically by developers.

Community
LWUIT is constantly ranked as one of the most active java.net projects and its forums are some of the most active forums in the community.

Related projects

 * Codename One
 * LWUIT for Series 40