Java ME UI Frameworks
Article Metadata
This article lists a number of UI frameworks that can be used to create more compelling UIs for your midlets than is possible using high-level UI classes (Form, List, TextBox, etc.). These frameworks are all based on the low level Canvas class.
Apime: http://www.java4ever.com/index.php?section=j2me&project=apime&menu=main&lang=_en
Apime is a framework to offer more functionality to J2ME/MIDP. The core is the user interface, with basics components to make applications with swing structure.
Also it includes classes for file manage and customization (skins, internationalization, keyboards for different languages and mobiles, ...)
Fire (Flexible Interface Rendering Engine) http://sourceforge.net/projects/fire-j2me/
The basic set of Fire components offer all the functionality of the Java ME GUI components provided in the midp2 profile (Forms, Items etc.) plus a much more appealing user interface, themes, animations, popup menus, and better component layout.
J2ME GUI: http://www.garcer.com/
A lightweight GUI library offering all the basic components expected from a high-level user interface. Can be extended as well. High performance even on low-end devices, customizable styles, and compatible with a very wide range of devices.
J2ME Lightweight Visual Component Library (LwVCL): http://www.lwvcl.com/j2me.php
LwVCL supports both Java (J2SE/J2ME Personal Profile) and .NET platforms. Now a draft J2ME MIDP LwVCL version is also available.
J2MEPolish: http://www.enough.de/products/j2me-polish/
J2MEPolish contains LUSH toolkit for customizing your MIDlet UI without changing the source code of your application. The design along with animations and effects are specified in external CSS files, very similar to the Web standard. There is also a WYSIWYG designer for UI design. Available under GNU General Public License as well as under commercial licenses.
J4ME: http://code.google.com/p/j4me/
J4ME is an open source library to help build J2ME applications. It solves many of J2ME's shortcomings including: UI, Logging, GPS and a library of methods left out of J2ME
jMobileCore: http://jmobilecore.sourceforge.net/
jMobileCore library is powerful tool for creating J2ME applications. jMobileCore provides support for developing compact and rich GUI, fast data access and reliable communications and simplifies creation of multithreading MIDlet applications.
Kuix: http://www.kalmeo.org/projects/kuix
Kuix (Kalmeo User Interface eXtensions) provides most graphical elements (buttons, textfields, lists, menus, tabs, etc.) needed to create advanced user graphical interfaces and uses an XML/CSS approach to describe the screens and the user actions in the application. Kuix is an open project covered by a Non-Commercial EULA.
lwuit (Lightweight UI Toolkit for Java ME) http://lwuit.java.net/
The Lightweight UI Toolkit makes it easy to create UI's that will look and behave the same on all devices using a programming paradigm similar to Swing. Main features include: Layouts, PLAF & Themes, Fonts, Touch Screen, Animations & Transitions, Widgets, 3D Integration, Painters, Modal Dialogs, External Tools, and I18N/L10N. One can run this toolkit on CLDC1.1 MIDP2.0/CDC PBP/SE.
MWT (Micro Window Toolkit) http://j2me-mwt.sourceforge.net/
Inspired by its UI big brothers as AWT, Swing and SWT, MWT comes into the scene providing an UI framework designed and optimized for small devices.
Nextel: http://nextel.sourceforge.net/
Nextel's Open Source J2ME Toolkits contain libraries for user interface and RMS development on J2ME handsets.
The windowing toolkit, OWT (Open Windowing Toolkit), employs a container/component model, and provides interfaces to permit developers to create their own user interface components. The toolkit is designed specifically for MIDP handsets with a small amount of screen real estate. It is built on top of MIDP's Canvas class.
OpenBaseMovil: http://www.openbasemovil.org/about/
In addition to database and scripting engine, OpenBaseMovil contains a declarative view definition language. With an XML file you can generate all of your views, and they are script and data aware: you can browse a set of results with less than ten lines of code.
Synclast: http://sourceforge.net/projects/synclast/
The Synclast UI API is an extensible toolkit for creating colorful custom user interfaces on MIDP devices in an intuitive yet efficient manner.
Thinlet: http://thinlet.sourceforge.net/home.html
Thinlet is a GUI toolkit, a single Java class, parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Separates the graphic presentation (described in an XML file) and the application methods (written as Java code)
FLEMIL: http://flemil.com/main.jsp http://code.google.com/p/flemil/
An open source Mobile UI library that provides rich UI features and theming support with lots of flexibility and resource friendliness.
References
Evaluation of a number of UI frameworks by Andreas Bossard and Open Source UI Libraries by Wendong Li.


If you remember/find any other frameworks, please add them in here
12 Sep
2009
This article provides a useful summary of the available Java ME UI frameworks. The standard Java ME UI components are often viewed by developers as insufficient for several reasons. These include a lack of customization options, a lack of richer UI controls and the fact that UIs created using the standard UI components tend to look rather unattractive to users.
Several of the frameworks/toolkits described in this article address these limitations. Among the frameworks listed, the J2MEPolish framework is one of the oldest and best known frameworks. This framework allows the creation of UIs which make use of custom UI components which greatly extend the capabilities of the standard Java ME UI controls. Sub-menus and tabbed panes are just two examples of the controls available.
The LWUIT is another toolkit which allows the creation of visually attractive UIs in Java ME. It should be noted that this framework, and many of the other frameworks listed, result in noticeable drawbacks in terms of rendering performance, particularly on resource-constrained phones. Nevertheless, they allow the creation of much more modern, attractive looking UIs than would otherwise be possible.
08 Sep
2009
Great list of all 3rd party GUI libraries, also the newer ones (LWUIT) are included...
As is mentioned by the other reviewer those GUI libraries try to address device limitations, but also the fragmentation.
Which isn't mentioned is that J2ME Polish also tries to address device fragmentation by supplying a device database (devices.xml) and uses this same database and it's data to build different JAR files according to the developers selection (for example jar file for specific device, or a specific series, or a specific screen size, or only for devices with specific API's)...