DisplayEventProducer.javaAPI DocphoneME MR2 API (J2ME)6265Wed May 02 18:00:24 BST 2007com.sun.midp.lcdui


public class DisplayEventProducer extends Object
This class provides methods to send events of types handled by MDisplayEventConsumer I/F implementors. This class completely hide event construction & sending in its methods. Generic comments for all XXXEventProducers: For each supported event type there is a separate sendXXXEvent() method, that gets all needed parameters to construct an event of an approprate class. The method also performs event sending itself. If a given event type merges a set of logically different subtypes, this class shall provide separate methods for these subtypes. It is assumed that only one object instance of this class is initialized with the system event that is created at (isolate) startup. This class only operates on the event queue given to it during construction, the class does not obtain any restricted object itself, so it does not need protection. All MIDP stack subsystems that need to send events of supported types, must get a reference to an already created istance of this class. Typically, this instance should be passed as a constructor parameter. Class is NOT final to allow debug/profile/test/automation subsystems to change, substitute, complement default "event sending" functionality : Ex. class LogXXXEventProducer extends XXXEventProducer { ... void sendXXXEvent(parameters) { LOG("Event of type XXX is about to be sent ...") super.sendXXXEvent(parameters); LOG("Event of type XXX has been sent successfully !") } ... }

Fields Summary
Cached reference to the MIDP event queue.
Constructors Summary
public DisplayEventProducer( theEventQueue)
Construct a new DisplayEventProducer.

theEventQueue An event queue where new events will be posted.

        eventQueue = theEventQueue;
Methods Summary
public voidsendCallSeriallyEvent(DisplayEventConsumer d)
Called to schedule a serial callback of a Runnable object passed into Display's callSerially() method.

d The Display
            LCDUIEvent.createBasicEvent(d, EventTypes.CALL_SERIALLY_EVENT));
public voidsendInvalidateEvent(DisplayEventConsumer d)
Called to schedule an invalidation of a Form.

d The Display
    			.createBasicEvent(d, EventTypes.INVALIDATE_EVENT));
public voidsendItemSizeRefreshEvent(javax.microedition.lcdui.CustomItem src)
Schedules a call requesting a CustomItem to refresh its sizes.

src the CustomItem requested to be refreshed
            LCDUIEvent.createItemEvent(src, LCDUIEvent.ITEM_SIZE_REFRESH));
public voidsendItemStateChangeEvent(javax.microedition.lcdui.Item src)
Schedules a call to an ItemStateListener.

src the Item which has changed, this parameter is need only by Form however, this means that events cannot be merged. If Form was to scan its items for invalid ones in callItemStateChanged, only one of these events would need to be in the queue at once.
            LCDUIEvent.createItemEvent(src, LCDUIEvent.ITEM_STATE_CHANGED));
public voidsendScreenChangeEvent(DisplayEventConsumer parent, javax.microedition.lcdui.Displayable d)
Called to schedule a screen change to the given Displayable as soon as possible

parent parent Display of the Displayable
d The Displayable to change to, d));
public voidsendScreenRepaintEvent(DisplayEventConsumer d)
Schedules a call to repaint entire screen content.

d The Display