J2ME GUI Overview
J2ME GUI Visual Guide
Get J2ME GUI here!



J2ME GUI allows you to develop mobile applications with the look-and-feel, as well as functionality of desktop applications. Mobile Java developers are well aware of the severe limitations of the built-in user interface provided by J2ME. The interface is completely at the mercy of the virtual machine with little or no control left to the developer. This is fine for disposable small applications, but most commercial and larger applications require exact control over their user interfaces, even if only for aesthetic purposes.

Developers only have two real options: Develop their own user interface using low-level graphical instructions, or use a third-party mobile GUI. There are only a few mobile GUI libraries worth considering, but most of them fall victim to some of the following problems:

  Many mobile GUI libraries offer components which are as visually unappealing as that of the built-in user interface of J2ME.
  Several compatibility issues with many of the GUI libraries. Some claim to be compatible with almost all mobile handsets whereas in reality they only work on a small subset of handsets.
  The few GUI libraries with acceptable interfaces are usually very bulky and are actually more geared towards newer handsets. Their large JAR file sizes leave little room, if any, for the actual application and some suffer from performance issues on older handsets.
  Some rely on additional API's that are not available on all handsets.

Because of these problems, many developers still end up developing their own GUI libraries from scratch, potentially delaying their projects for months. Our company faced the same problem when we started to develop our mobile applications. Since we were unable to find a suitable mobile GUI library, we decided to develop our own – the J2ME GUI library.


J2ME GUI tries to address all the pitfalls other GUI libraries suffer from by focusing on compatibility and performance without extravagant memory usage nor compromising aesthetics. The J2ME GUI library offers the following advantages:

  Visually appealing
    You can now develop appealing user interfaces for your mobile applications using the core components provided by J2ME GUI. Its default theme provides a professional look that users will be comfortable with.
  Easy porting of desktop applications
    Companies can port their desktop applications with minimal effort and in record time. All the typical components developers are accustomed to on desktop platforms are now available for the mobile platform. Their behavior is very similar to that of their desktop counterparts, with similar properties and functions, which greatly reduce the time it takes developers to learn how to use the library.
  Develop familiar intuitive interfaces
    Provide the usability your clients expect from your applications. With desktop-like interfaces, users will instantly find your applications comfortable to use.
  Fully customizable styling

J2ME GUI's components can be styled to fit your application's needs, providing you with full control and flexibility. There are no prefixed colors in J2ME GUI and hundreds of style properties are exposed to control the finest details. The image glyphs used for certain components can also be replaced.

Since styling code can comprise of several hundred lines, it would greatly affect your application's JAR size. Therefore, J2ME GUI features compiled style files that can be created and edited with the J2ME GUI Styler application included with the library. A typical style file of over 300 lines will only require 1Kb of the JAR file.

  Extend J2ME GUI with custom components
    You can easily extend any of the components in the J2ME GUI library, or even write a completely new component by extending the Component or Container classes. The graphics engine will automatically handle the rendering of your new components and treat them like any other library components. Additionally, we will also extend the library from time to time, adding new components or new properties and functions to existing ones.
  Superior performance
    Extensive research and development was conducted to acquire top performance whilst minimizing JAR size, as well as runtime memory. Our proprietary graphics engine is the product of aggressive tweaking techniques and optimized execution strategies. It ensures very high frame rates and instant, responsive interfaces even on low-end phones. In addition, large forms with many components have little impact on the achieved frame rate.
  Minimal footprint
    J2ME GUI features one of the smallest footprints for mobile GUI libraries. Resource files have been kept to a minimum and those that were included were optimized for size. Since J2ME GUI is able to render its own interpretations of components using vectors, all image glyphs can be removed to aid in size reduction. J2ME GUI library supports full obfuscation which can reduce its size by a further 30% to 40%. The resulting JAR file easily satisfies even the oldest mobile handsets with runtime memory consumption not much higher than the JAR file itself.
  Compatible with more than 90% of mobile handsets

Research reveals that J2ME GUI is compatible with more than 90% of mobile phones currently in the market and this number continues to grow. Handset incompatibilities and bugs have been taken into consideration whilst developing the library and workarounds have been implemented where possible. Be careful of other products claiming compatibility with all handsets.

Only the minimal set of functions was used in developing J2ME GUI, using the lowest level graphical instructions. It does not rely on any additional API's and should be able to run on nearly all MIDP 2.0 and CLDC 1.1 handsets.

Now you can release your applications with greater confidence that they will run as expected on the widest range of handsets without requiring multiple builds.

  Community assistance
    Get assistance from co-developers via our developers' forum. Our own developers will also watch the forum when time permits to answer any questions. You can also use it to report any bugs or to communicate feature requests. The forum is open to everyone and we encourage all J2ME GUI developers to make use of the online forum.


J2ME GUI can be downloaded for free for non-commercial and evaluation purposes. There are no feature limitations or trial period, except for a 5 second splash screen reminder when the application starts up.

If you are planning to release any commercial software, you need to purchase our commercially licensed version. Please continue to our Package Options page for details.


Copyright © 2009. Garcer CC reg 2003/016598/23. All rights reserved.
Privacy Policy  Terms Of Service