Use is subject to License Terms. Your use of this web site or any of its contents or software indicates your agreement to be bound by these License Terms.

Copyright © 2002-2006 Sun Microsystems, Inc.; Nokia Corporation. All rights reserved. See the Copyright Notice and Specification License for more details.

MMAPI 1.2

javax.microedition.media.control
Interface GUIControl

All Superinterfaces:
Control
All Known Subinterfaces:
VideoControl

public interface GUIControl
extends Control

GUIControl extends Control and is defined for controls that provide GUI functionalities.

Controls that support a GUI component should implement this interface.


Field Summary
static int USE_GUI_PRIMITIVE
          This defines a mode on how the GUI is displayed.
 
Method Summary
 java.lang.Object initDisplayMode(int mode, java.lang.Object arg)
          Initialize the mode on how the GUI is displayed.
 

Field Detail

USE_GUI_PRIMITIVE

static final int USE_GUI_PRIMITIVE
This defines a mode on how the GUI is displayed. It is used in conjunction with initDisplayMode.

When USE_GUI_PRIMITIVE is specified for initDisplayMode, a GUI primitive will be returned. This object is where the GUI of this control will be displayed. It can be used in conjunction with other GUI objects, and conforms to the GUI behaviors as specified by the platform.

For a given platform, the object returned must implement or extend from the appropriate GUI primitive of the platform. For platforms that support only AWT such as some CDC implementations, the object must extend from java.awt.Component; for MIDP implementations with only LCDUI support, it must extend from javax.microedition.lcdui.Item.

In these cases, the arg argument must be null or a String that specifies the fully-qualified classname of the GUI primitive.

On some platforms that support multiple types of GUI primitives, the arg argument must be used to arbitrate among the options. The arg argument must be a String that specifies the fully-qualified classname of the GUI primitive to be returned by the method.

For example, a platform that supports both AWT and LCDUI must use either "java.awt.Component" or "javax.microedition.lcdui.Item" as the arg argument. The object returned will be of either type according to what's specified.

Here are some sample usage scenarios:

For CDC implementations with only AWT support:

 
   try {
       Player p = Manager.createPlayer("http://abc.mpg");
       p.realize();
       GUIControl gc;
       if ((gc = (GUIControl)p.getControl("GUIControl")) != null)
           add((Component)gc.initDisplayMode(GUIControl.USE_GUI_PRIMITIVE, null));
       p.start();
   } catch (MediaException pe) {
   } catch (IOException ioe) {
   }
 
 

For MIDP implementations with only LCDUI support:

 
   try {
       Player p = Manager.createPlayer("http://abc.mpg");
       p.realize();
       GUIControl gc;
       if ((gc = (GUIControl)p.getControl("GUIControl")) != null) {
           Form form = new Form("My GUI");
           form.append((Item)gc.initDisplayMode(GUIControl.USE_GUI_PRIMITIVE, null));
           Display.getDisplay().setCurrent(form);
       }
       p.start();
   } catch (MediaException pe) {
   } catch (IOException ioe) {
   }
 
 

For implementations with both AWT and LCDUI support:

 
   try {
       Player p = Manager.createPlayer("http://abc.mpg");
       p.realize();
       GUIControl gc;
       if ((gc = (GUIControl)p.getControl("GUIControl")) != null)
           add((Component)gc.initDisplayMode(GUIControl.USE_GUI_PRIMITIVE,
                                   "java.awt.Component");
       p.start();
   } catch (MediaException pe) {
   } catch (IOException ioe) {
   }
 
 

Value 0 is assigned to USE_GUI_PRIMITIVE.

See Also:
Constant Field Values
Method Detail

initDisplayMode

java.lang.Object initDisplayMode(int mode,
                                 java.lang.Object arg)
Initialize the mode on how the GUI is displayed.

Parameters:
mode - The mode that determines how the GUI is displayed. GUIControl defines only one mode: USE_GUI_PRIMITIVE. Subclasses of this may introduce more modes.
arg - The exact semantics of this argument is specified in the respective mode definitions.
Returns:
The exact semantics and type of the object returned are specified in the respective mode definitions.
Throws:
java.lang.IllegalStateException - Thrown if initDisplayMode is called again after it has previously been called successfully.
java.lang.IllegalArgumentException - Thrown if the mode or arg argument is invalid. mode must be defined by GUIControl or its subclasses; or a custom mode supported by this implementation. arg must conform to the constraints defined by the respective mode definitions. Refer to the mode definitions for the required type of arg.

MMAPI 1.2

Copyright © 2002-2006 Sun Microsystems, Inc.; Nokia Corporation. All rights reserved. See the Copyright Notice and Specification License for more details.

Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 135 specification.