New Features of NetBeans Mobility Pack 6.0

The new release of NetBeans 6.0 bring lot of change and improvements. There is lot of new features in NetBeans IDE however I'd like to focus on the changes in Mobility Pack area. There was lot of changes and you can see all of them listed in the News and Noteworthy list. I'll focus on the most important features only.

New Packaging
In previous versions the Mobility Pack was distributed as add-on installer that added the Mobility Pack functionality to existing NetBeans installation. In the new version, it has changed. You can download Mobility Pack installer that will install the whole IDE that you need for the Java ME development. The distribution that include the Mobility functionality are the Mobility NetBeans Pack and the All NetBeans Pack.

It is also easier to add the Mobility functionality into your existing NetBeans 6.0 installation. Let me explain it on an example. You installed the smallest NetBeans IDE distribution for Java SE. After while you decided that you want to develop also a MIDP application. You don't have to download another installer again. You just open the "Tools > Plugins" then select the functionality that you want (in this case whole Mobility category). And the IDE will be enhanced with the desired plugin.

Merged CLDC/MIDP + CDC functionality
There were two Mobility Packs in version 5.5 and 5.5.1. One for CLDC/MIDP development and the second one for CDC development. The functionality of both packs was merged in the 6.0 release. There are two different types of project in New Project wizard - MIDP Project and CDC Project.

Even if you create MIDP project you can change it to CDC project later in project properties. The only difference between those two projects is the CDC or CLDC platform.

LEGO build/project system
You can build whatever you want with the LEGO bricks. You can combine the bricks together to build up something. Particular parts of Mobility were broken into small separated pieces that build up the UI and the functionality of the project system. Depending on what platform you are using different options are available in project properties.

This LEGO system enables to developers that would like to enhance the mobility pack easily plug-in their functionality. They can add new platform type, new deployment type, new configurations provider, etc.

You can see how the Application Descriptor panels changes for different platforms at following pictures.

Visual Mobile Designer for MIDP version 2
The Visual Designer for MIDP is part of the Mobility Pack from 4.1 release. The UI and the functionality was changed significantly in this release. Actually, the whole API and implementation has been changed. The main reason for this step was to improve the API for external developers that would like to create their own custom components for the Visual Designer.

The new version of the Visual Designer has a slightly different look then the previous one.

Flow Designer view

Screen Designer view

There are new components in palette. Some of them are new screens that you can use in your visual design - File Browser, PIM Browser, Login Screen, SMS Composer. The others can be used for the visual design of the logic of the application - Switch and Switch Case, If, etc.

New components of Visual Designer

There is new tool in the Visual Designer. It is Analyzer. It checks your code for unused resources that can be removed from the project to decrease its size. It also checks your code fr compliance with MIDP 1.0.

Analyzer view

The old visual designs from previous version cannot be opened in this version. There is a Converter that converts the old design to new format. This steps isn't necessary. It is mandatory only when you want to modify the old visual design in the NetBeans Mobility 6.0.

Game Builder
When you are creating a game you need to create maps, characters, creatures etc. The Game Builder helps you to create Sprites, TiledLayers ans Scenes for MIDP 2.0 Game API. It will help you with the UI but not with the game logic. There is nice description of the functionality from the author. Sample project is part of the Mobility distribution - New Project > Samples > Mobility > MIDP > Simple Game Created with Game Builder.

Create new Sprite

Create new TiledLayer

Create whole scene

SVG Composer
There is SVG support with SVG components for a while in the Visual Designer. It was enhanced by simple SVG Composer that enables you to edit existing SVG images or to create your own SVG image from scratch. The set of feature set is really limited. Developer should be able to slightly change existing image. He can rotate, scale, move, translate svg elements of the image. There is a palette with some basic shapes that she can add to the image as well. User can directly edit svg image source when she needs it.
When you need to create a png or jpeg image from svg image or from svg animation then right click on your image and choose one of the Export menu items. The export dialog can create png/jpeg images for all configurations in your project. The images will have the right size as it is defined in your emulator platform.

SVG Composer view with palette

Databinding library for Java ME
The Databinding library for Java MEwas introduced at TS-5626 at JavaOne 2006. It is part of the NetBeans Mobility IDE. When you are generating stubs for Java Me Web Service Client or for Mobile Client to Web Application then the IDE can generate the databinding structures for you. The library itself provides only basic set of BindingProvider however the API is easy. You can join the project and add you BindingProviders.

Configuration Management When you needed to create more configurations you had to create them one by one in previous versions. You can create several project configurations at once now. You can duplicate existing configuration by providing a prefix/postfix.

Add more configurations to project

The configurations can be managed directly from Projects view. You can create, delete, set active configuration, add/remove a resource to configuration. When a configuration node is selected in Projects view then all abilities of the configuration appears in Navigator window where you can manage them.

Configurations in project view

I already wrote a article about the new configuration management in 6.0. You can read it to find out more details.

New Deployment Types
The existing list of deployment types was enhanced. The available deployment methods are:
  • FTP
  • Secure Copy (SCP/SFTP)
  • WebDAV
  • Device Anywhere Remote Device deployment - deploy to remote devices provided by
  • Nokia Terminal Connected via PC Suite - this functionality is available for users of Mobility Pack 5.5/5.5.1 on Update Center.
  • Windows Mobile Deployment (locally attached device)
  • File Copy
  • Ricoh Deployment - for Ricoh devices. You can deploy either to SD card or to a server.
  • SonyEricsson Phone (locally attached device)

Supported Platforms
The NetBeans Mobility 6.0 provides installer only for Windows and Linux. The zip distribution is also available for those that want to use it on "unsupported" platforms - e.g. Mac, Solaris. Although you can add whatever platform you want to the Mobility Pack only following are supported and tested:
  • Sun Java Wireless Toolkit for CLDC - the newest WTK 2.5.2 emulator platform is bundled with the Mobility Pack distribution. The WTK is also available at Update Center. You can easily download it with Tools > Plugins manager.
  • Sun Java Toolkit 1.0 for CDC
  • Sony Ericsson CDC Platform 1
  • Nokia Series 80 Platform
  • Ricoh
  • CrE-ME from NSICOM

"LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site"

There is still no linux cdc solution

Posted by buzz on November 26, 2007 at 03:53 AM CET #

The CDC support will work on Linux as well. The main problem is a en emulator...

Posted by Lukas on November 26, 2007 at 05:43 AM CET #

Yes, the lack of an emulator has always been a pain ... however, even when I try and create a cdc project in linux, netbeans always asks for the platform, and as there isn't one, I can't procede any further. I've even tried to use the advanced phoneme but never got it to work.

It would be great to be able to do this - just create the project, write code, compile and build the archive - yes, the compromise is debugging on the device instead on the emulator, but at least you can write the code.

Posted by buzz on November 26, 2007 at 05:53 AM CET #

Hey Lukas,
good overview of the Mobility pack in NB6, I will probably be doing some an intro to J2ME w/ NetBeans Mobility pack at the local JUG (, and this will definitely come in very handy in putting the presentation together.

When you mentioned the "LEGO build/project system", for a moment there I thought you were referring to support for the Java programming capabilities of LEGO Mindstorms Bricks (, and I was totally excited that something like this would be provided out of the box. Then, I read on and realized that you were talking about something else, but, man, wouldn't that be cool ! :-)

Cheers !

Posted by Alex Kotchnev on November 26, 2007 at 10:22 AM CET #

Hi Alex, thanks for kind words ;)<br><br>
You are right there is no suport for the LEGO Mindstorms Bricks. It is a new platform (vm) that doesn't sems to fit to CLDC/CDC ;) However IMO you still can use NetBeans to develop for it.

Posted by Lukas on November 26, 2007 at 10:38 AM CET #

hello lukas,
I was wondering if this release (netbeans 6) the problem that was mentioned with the end-to-end and j2me in "Where is the End2End functionality of Mobility Pack?" article and other similar problems are resolved.
Because I'm starting writing my thesis about j2me and web services and I want to use Netbeans to do it. Now I'm using NetBeans 5.5 with mobility pack and visual web pack and enterprise pack. I did all the articles for mobility and the other plugins that appeared on the site for this version (NB 5.5).
I wonder if it is convenient to change the platform and use netbeans 6.0. With this version I could do the same thing that I did with 5.5??
can I "import" the projects I have done?
I could do all the examples that you mention on your blog about "using web services with a mobile client and j2me"??
and last question, sorry :P,
netbeans 6.0 still have the assistant for mobiles that don't have the jsr-172 api??

Posted by bruno on December 05, 2007 at 04:40 PM CET #


Posted by AAMER on January 10, 2011 at 10:19 PM CET #

Post a Comment:
  • HTML Syntax: NOT allowed

This is the main channel to share news, tips and other stuff related to my work. Sometimes you can find even personal stuff. Enjoy your reading...


« July 2016

No bookmarks in folder