Java ME Technology - LWUIT

At a Glance 

Java Community Process




Java TV

Mobile Service Architecture

Light Weight User Interface Toolkit 1.4 is now available - both in source and binary form. With the new XHTML component - rendering dynamic web content and embedding rich text locally in the Java ME applications will be easier than ever before. Additional features such as a BlackBerry and enhanced virtual keyboard functionality will enable Java ME developers to target a much wider set of devices for creative and compelling Java ME applications. Check out the new version to experience the new functionality.

The Light Weight User Interface Toolkit (LWUIT) is a UI library targeted for mass-market mobile devices. LWUIT offers advanced UI capabilities and a clean API that is inspired by Swing.

With LWUIT, Java ME developers don't need to write device-specific code for different screen sizes, but instead can add UI components as needed to provide a consistent and compelling look and feel to their applications.

LWUIT is supported on MIDP 2.0/CLDC 1.1 and can also be ported on CDC platforms.

The LWUIT library is bundled with applications during application development. LWUIT is an open technology, with its source and binary freely accessible for individual or commercial use.

For source code, architectural details and more, visit the LWUIT open source community.



The LWUIT library has a clean separation between the model, view, and the controller. For example, the List Component can display an unlimited number of items because it only renders what is visible, while the model has the data responsibility. You can show a very large List without worrying about memory consumption.

One of LWUIT's key benefits is rapid development. Since the API is inspired by Swing, it is easy to learn and adopt. LWUIT itself was built from scratch and does not depend on AWT.


Another benefit is easy deployment, and little, if any, device-specific code. To ensure portability, LWUIT was built using low-level common elements in MIDP 2.0. LWUIT applications look and run consistently across different devices and different Java runtimes.

Everything is customizable and extensible. So if there is a missing feature or component, you can create your own and plug it in your code.

LWUIT has been tested on today's mass market devices. Its only requirements are MIDP 2.0 and CLDC 1.1.

Download this technology now to see how it can improve your mobile applications:

Key Features

  • UI Controls Includes components such as Tree, Table, Buttons, List, etc. inspired by Swing
  • XHTML support LWUIT's XHTML component allows rendering of HTML documents that conform to the XHTML Mobile Profile 1.0 standard
  • Layouts Manager A very flexible and powerful feature, particularly if the application runs on different screen sizes
  • Pluggable Look and Feel & Themes The toolkit lets you create a CSS-like file that can be loaded or changed at runtime, controllling the look and feel of the application
  • Fonts The library features bitmap fonts and a tool that lets you create fonts on your desktop
  • Touch Screen All LWUIT components support touch events. No special coding is needed for a LWUIT application to run on a touch-enabled device
  • Virtual keyboard support This functionality enhances the touch screen support through LWUIT by enabling customizable user input through the virtual keyboard on the device display
  • Animations & Transitions Various visual effects available out-of-the-box through the library add life to applications
  • 3D and SVG Graphics Integration
  • Tools LWUIT provides a Theme Creator tool for editing and creating themes and resources. This is a standalone application for creating and viewing background painting, objects, and other theme elements
  • Bi-directional text support support for right to left text

New Features in Release 1.4

  • XHTML Component - The new XHTML component of LWUIT allows rendering of HTML documents that conform to the XHTML Mobile Profile 1.0 (XHTML-MP 1.0) standard. This component enables rendering of - HTML text embedded locally and web content accessed remotely from within the application - thus making it easy for Java ME developers to make their applications dynamic and rich while also reusing their existing code and logic on the web.
  • BlackBerry support - With the new BlackBerry binaries, developing for a BlackBerry device is now simple and easy.
  • Enhancements to the Virtual keyboard functionality - It is possible to use the LWUIT's virtual keyboard with ease and flexibility from within a Java ME application. The enhanced functionality includes customizing the look and feel of the virtual keyboard, adding a new language to it, and binding it to a text field.