Event Handling
So far, you have seen how to use the
Canvas
, Image
, and
Graphics
classes to draw lines, shapes, and images
onto the screen. The low-level API also provides the ability for a
MIDlet to detect and respond to user input from the keypad and a
pointing device, if the device has one.
Key Handling
High-level API user interface components like
TextBox
and TextField
automatically handle interaction with the user via the keypad (or its
equivalent), so that the MIDlet just has to wait for the user to
indicate that input is complete and read the content of the control
as a String
or an array of characters. If you are
using the low-level API, however, the only way to respond to keyboard
input is by overriding the following methods of the
Canvas
class:
protected void keyPressed(int keyCode) protected void keyReleased(int keyCode) protected void keyRepeated(int keyCode)
The keyPressed( )
and keyReleased( )
methods are, fairly obviously, called when the user
presses and releases a key. If the user holds a key down for a
device-dependent time, some platforms periodically call the
keyRepeated( )
method, passing it the same
argument as that supplied to the previous keyPressed( )
call. Since not all devices have a repeating keyboard, a
MIDlet can determine whether to expect these events by calling the
Canvas
hasRepeatEvents( )
method and adjusting its behavior appropriately.
Unlike PC keyboards, which are more or less standardized, the wide range of different devices supported by MIDP ...
Get J2ME in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.