FileDocCategorySizeDatePackage
CommandListener.javaAPI DocJ2ME MIDP 2.01796Thu Nov 07 12:02:26 GMT 2002javax.microedition.lcdui

CommandListener.java

/*
 * @(#)CommandListener.java	1.14 02/07/24 @(#)
 *
 * Copyright (c) 1999-2002 Sun Microsystems, Inc.  All rights reserved.
 * PROPRIETARY/CONFIDENTIAL
 * Use is subject to license terms.
 */

package javax.microedition.lcdui;

/**  
 * This interface is used by applications which need to receive
 * high-level events from the implementation. An application will
 * provide an implementation of a <code>CommandListener</code>
 * (typically by using
 * a nested class or an inner class) and will then provide the
 * instance to the <CODE>addCommand</CODE> method on a
 * <code>Displayable</code> in
 * order to receive high-level events on that screen.
 *
 * <p>The specification does not require the platform to create several 
 * threads for the event delivery.
 * Thus, if a <code>CommandListener</code> method does not return
 * or the return is
 * not delayed, the system may be blocked. So, there is the following note to
 * application developers:</p>
 * <UL>
 * <LI><em>the <code>CommandListener</code> method should return
 * immediately</em>.</LI>
 * </UL>
 *
 * @see javax.microedition.lcdui.Displayable#setCommandListener
 * @since MIDP 1.0 
 */
public interface CommandListener {
    
    /**
     * Indicates that a command event has occurred on
     * <code>Displayable d</code>.
     *
     * @param c a <code>Command</code> object identifying the
     * command. This is either one of the
     * applications have been added to <code>Displayable</code> with 
     * {@link Displayable#addCommand(Command)
     * addCommand(Command)} or is the implicit 
     * {@link List#SELECT_COMMAND SELECT_COMMAND} of
     * <code>List</code>.
     * @param d the <code>Displayable</code> on which this event
     *  has occurred
     */
    void commandAction(Command c, Displayable d);
}