O'Reilly logo

Wireless Java by Qusay H. Mahmoud

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Handling Low-Level Events

If you use the Canvas class to write applications to access low-level input events or to issue graphics calls for drawing to the display, you must handle low-level events. Game applications are likely to use the Canvas class because it provides methods to handle game actions and key events. The key events are reported with respect to keycodes that are directly bound to concrete keys on the device.

The Canvas class, which is a subclass of Displayable, allows the application to register a listener for commands, but it requires applications to subclass the listener first. Also, while screens allow the application to define a listener and register it with an instance of the Screen class, the Canvas class does not allow this, because several listener interfaces need to be created, one for each kind of event.

Key Events

Every key for which events are reported is assigned a keycode. The MIDP defines the following keycodes in the Canvas class:

KEY_NUM0

The keycode for key 0

KEY_NUM1

The keycode for key 1

KEY_NUM2

The keycode for key 2

KEY_NUM3

The keycode for key 3

KEY_NUM4

The keycode for key 4

KEY_NUM5

The keycode for key 5

KEY_NUM6

The keycode for key 6

KEY_NUM7

The keycode for key 7

KEY_NUM8

The keycode for key 8

KEY_NUM9

The keycode for key 9

KEY_STAR

The keycode for the star key “*”

KEY_POUND

The keycode for the pound key “#”

As you probably guessed, these are the keys 0..9, *, and #. Other keys might exist on some devices, but for portability, applications ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required