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

DisplayEventProducer

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
private com.sun.midp.events.EventQueue
eventQueue
Cached reference to the MIDP event queue.
Constructors Summary
public DisplayEventProducer(com.sun.midp.events.EventQueue theEventQueue)
Construct a new DisplayEventProducer.

param
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.

param
d The Display

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

param
d The Display

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

param
src the CustomItem requested to be refreshed

        eventQueue.post(
            LCDUIEvent.createItemEvent(src, LCDUIEvent.ITEM_SIZE_REFRESH));
    
public voidsendItemStateChangeEvent(javax.microedition.lcdui.Item src)
Schedules a call to an ItemStateListener.

param
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.

        eventQueue.post(
            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

param
parent parent Display of the Displayable
param
d The Displayable to change to

        eventQueue.post(LCDUIEvent.createScreenChangeEvent(parent, d));
    
public voidsendScreenRepaintEvent(DisplayEventConsumer d)
Schedules a call to repaint entire screen content.

param
d The Display

        eventQueue.post(
            LCDUIEvent.createScreenRepaintEvent(d));