J2ME Polish
J2ME Polish 2.4 Documentation
Enough Software

BlackBerry/8130


Display

PropertyValuePreprocessing Access
Supports Pointer/Touch Eventsnopolish.hasPointerEvents

Platform

PropertyValuePreprocessing Access
VendorBlackBerrypolish.Vendor
PlatformMIDP/2.0, BlackBerry/4.3polish.JavaPlatform, polish.blackberry
ConfigurationCLDC/1.1polish.JavaConfiguration, polish.cldc1.1
Supported APIswmapi, mmapi, pimapi, javacard, contenthandler, locationapi, locationapi, wmapi, pdaapi, mmapi, btapipolish.JavaPackage, polish.api.wmapi, polish.api.mmapi, polish.api.pimapi, polish.api.javacard, polish.api.contenthandler, polish.api.locationapi, polish.api.locationapi, polish.api.wmapi, polish.api.pdaapi, polish.api.mmapi, polish.api.btapi
Meets the Recommended Capablities for the J2ME Polish GUIyes  --

Multimedia

PropertyValuePreprocessing Access
Supported Audio Formatsamr, nb-amrpolish.SoundFormat, polish.audio.amr, polish.audio.nb-amr

Keys

KeyValuePreprocessing Variable
Right Soft Key1769472polish.key.RightSoftKey
Clear Key524288polish.key.ClearKey

Known Issues

Issue 1AreaDescription
ReservedKeywordSerializableioClasses called Serializable confuse the device
Solution
The J2ME polish build process works around this by auto-renaming the de.enough.polish.io.Serializable interface.
Preprocessing Symbol
polish.Bugs.ReservedKeywordSerializable
 
Issue 2AreaDescription
ItemStateListenerCalledTooEarlyuiThe item state listener is called too early, e.g. when the user has pressed a key in a TextField without the key being added to the field already. Subsequent calls to textField.getString() will then append the pressed key to the field. This restricts user input to only the first character of a group, e.g. only 'a' instead of 'abc2'.
Solution
Use the J2ME Polish GUI and enable the direct input mode for TextFields. Alternatively wait some time before processing the item state event and calling textField.getString().
Preprocessing Symbol
polish.Bugs.ItemStateListenerCalledTooEarly
 
Issue 3AreaDescription
drawRgbNeedsFullBufferuiThe Graphics.drawRGB(..) method does not accept only one row which then can be repeated several times. Usually this trick saves some memory as well as work.
Solution
Give a full buffer (rows * columns) in the drawRGB method instead of only one row.
Preprocessing Symbol
polish.Bugs.drawRgbNeedsFullBuffer
 
Issue 4AreaDescription
ClosedInputstreamWhenEmptyHttpResponseBodyioWhen the body of a HTTP response is empty a closed InputStream is returned on openInputStream() call of HttpConnection.
Solution
The first read() on the InputStream throws a ConnectionClosedException instead of returning -1. This needs to be catched and handled as if -1 would have been directly returned.
Preprocessing Symbol
polish.Bugs.ClosedInputstreamWhenEmptyHttpResponseBody
 

Groups

Groups can be used to assemble the resources (like images or sound-files) for an application.
Have a look at the documentation for more info.

GroupResource Folder
midp2resources/midp2
blackberryresources/blackberry
wmapiresources/wmapi
mmapiresources/mmapi
pimapiresources/pimapi
javacardresources/javacard
contenthandlerresources/contenthandler
locationapiresources/locationapi
locationapiresources/locationapi
wmapiresources/wmapi
pdaapiresources/pdaapi
mmapiresources/mmapi
btapiresources/btapi
amrresources/amr
nb-amrresources/nb-amr

Preprocessing Capabilities

Capabilities can be used with the "//#=" preprocessing directive and can be compared with the "//#if" directive. For each defined capability a preprocessing symbol with the same name will be defined.
Have a look at the preprocessing documentation for more information.

Examples:

//#if polish.Vendor == BlackBerry
	// this is a BlackBerry device
//#endif
//#ifdef polish.ScreenWidth:defined
	//#= int screenWidth = ${ polish.ScreenWidth };
//#else
	int screenWidth = UNKNOWN_WIDTH;
//#endif

CapabilityValue
polish.bugsReservedKeywordSerializable,ItemStateListenerCalledTooEarly,drawRgbNeedsFullBuffer, ClosedInputstreamWhenEmptyHttpResponseBody
polish.build.blackberry.jde-version4.3
polish.build.bootclasspathcldc-1.1.jar,blackberry-4.3.0.jar,midp-2.0.jar
polish.build.classes.fullscreennet.rim.device.api.ui.container.FullScreen
polish.build.classes.nativedisplayde.enough.polish.blackberry.ui.NativeDisplayImpl
polish.build.classes.nativefontde.enough.polish.blackberry.ui.Font
polish.build.classes.nativegraphicsde.enough.polish.blackberry.ui.Graphics
polish.build.classes.nativeimagede.enough.polish.blackberry.ui.Image
polish.build.classes.screennet.rim.device.api.ui.container.MainScreen
polish.build.implicitgroupsmidp2
polish.build.obfuscatorblackberry
polish.display.baseclassde.enough.polish.blackberry.ui.BaseScreen
polish.emulator.classBlackBerryEmulator
polish.emulator.skin8130
polish.icondepth55
polish.iconheight44
polish.iconsize44x44
polish.iconwidth44
polish.identifierBlackBerry/8130
polish.javaconfigurationCLDC/1.1
polish.javapackagewmapi, mmapi, pimapi,javacard,contenthandler,location,location,wmapi,pdaapi,mmapi, btapi
polish.javaplatformMIDP/2.0, BlackBerry/4.3
polish.key.clearkey524288
polish.key.enterkey655360
polish.key.escapekey1769472
polish.key.menu268566528
polish.key.moveleftkey5177410
polish.key.moverightkey5242946
polish.key.returnkey1769472
polish.key.rightsoftkey1769472
polish.menubar.positioninvisible
polish.menubar.useextendedmenubartrue
polish.name8130
polish.soundformatamr, nb-amr
polish.supportfloatingpointtrue
polish.usepolishtitletrue
polish.vendorBlackBerry
polish.vendor.aliasRIM,Research In Motion Ltd.
polish.wap.useragentBlackBerry8130/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/109

Preprocessing Symbols

Symbols can be evaluated with the "//#ifdef" and related preprocessing directives.
Have a look at the preprocessing documentation for more information.

Example:

//#if polish.api.mmapi || polish.midp2
	// this device supports the Mobile Media API
//#endif

Symbol
polish.api.btapi
polish.api.contenthandler
polish.api.fileconnection
polish.api.fileconnectionapi
polish.api.javacard
polish.api.locationapi
polish.api.mmapi
polish.api.pdaapi
polish.api.pim
polish.api.pimapi
polish.api.wmapi
polish.audio.amr
polish.audio.nb-amr
polish.blackberry
polish.bugs.closedinputstreamwhenemptyhttpresponsebody
polish.bugs.drawrgbneedsfullbuffer
polish.bugs.itemstatelistenercalledtooearly
polish.bugs.reservedkeywordserializable
polish.bugs:defined
polish.build.blackberry.jde-version.4.3
polish.build.blackberry.jde-version:defined
polish.build.bootclasspath.blackberry-4.3.0.jar
polish.build.bootclasspath.cldc-1.1.jar
polish.build.bootclasspath.midp-2.0.jar
polish.build.bootclasspath:defined
polish.build.classes.fullscreen.net.rim.device.api.ui.container.fullscreen
polish.build.classes.fullscreen:defined
polish.build.classes.nativedisplay.de.enough.polish.blackberry.ui.nativedisplayimpl
polish.build.classes.nativedisplay:defined
polish.build.classes.nativefont.de.enough.polish.blackberry.ui.font
polish.build.classes.nativefont:defined
polish.build.classes.nativegraphics.de.enough.polish.blackberry.ui.graphics
polish.build.classes.nativegraphics:defined
polish.build.classes.nativeimage.de.enough.polish.blackberry.ui.image
polish.build.classes.nativeimage:defined
polish.build.classes.screen.net.rim.device.api.ui.container.mainscreen
polish.build.classes.screen:defined
polish.build.implicitgroups.midp2
polish.build.implicitgroups:defined
polish.build.obfuscator.blackberry
polish.build.obfuscator:defined
polish.cldc
polish.cldc1.1
polish.cldc11
polish.display.baseclass.de.enough.polish.blackberry.ui.basescreen
polish.display.baseclass:defined
polish.emulator.class.blackberryemulator
polish.emulator.class:defined
polish.emulator.skin.8130
polish.emulator.skin:defined
polish.hascommandkeyevents
polish.hasfloatingpoint
polish.hastrackballevents
polish.icondepth.55
polish.icondepth:defined
polish.iconheight:defined
polish.iconsize.44x44
polish.iconsize:defined
polish.iconwidth:defined
polish.identifier.blackberry/8130
polish.identifier:defined
polish.javaconfiguration.cldc/1.1
polish.javaconfiguration:defined
polish.javapackage.btapi
polish.javapackage.contenthandler
polish.javapackage.javacard
polish.javapackage.location
polish.javapackage.mmapi
polish.javapackage.pdaapi
polish.javapackage.pimapi
polish.javapackage.wmapi
polish.javapackage:defined
polish.javaplatform.blackberry/4.3
polish.javaplatform.midp/2.0
polish.javaplatform:defined
polish.key.clearkey.524288
polish.key.clearkey:defined
polish.key.enterkey.655360
polish.key.enterkey:defined
polish.key.escapekey.1769472
polish.key.escapekey:defined
polish.key.menu.268566528
polish.key.menu:defined
polish.key.moveleftkey.5177410
polish.key.moveleftkey:defined
polish.key.moverightkey.5242946
polish.key.moverightkey:defined
polish.key.returnkey.1769472
polish.key.returnkey:defined
polish.key.rightsoftkey.1769472
polish.key.rightsoftkey:defined
polish.menubar.position.invisible
polish.menubar.position:defined
polish.menubar.useextendedmenubar
polish.menubar.useextendedmenubar.true
polish.menubar.useextendedmenubar:defined
polish.midp
polish.midp2
polish.name.8130
polish.name:defined
polish.soundformat.amr
polish.soundformat.nb-amr
polish.soundformat:defined
polish.supportfloatingpoint
polish.supportfloatingpoint.true
polish.supportfloatingpoint:defined
polish.supportspolishgui
polish.usepolishtitle
polish.usepolishtitle.true
polish.usepolishtitle:defined
polish.vendor.alias.research in motion ltd.
polish.vendor.alias.rim
polish.vendor.alias:defined
polish.vendor.blackberry
polish.vendor:defined
polish.wap.useragent.blackberry8130/4.3.0 profile/midp-2.0 configuration/cldc-1.1 vendorid/109
polish.wap.useragent:defined
back to top