FileDocCategorySizeDatePackage
GUIControl.javaAPI DocphoneME MR2 API (J2ME)6451Wed May 02 16:47:14 BST 2007javax.microedition.media.control

GUIControl

public interface GUIControl implements javax.microedition.media.Control
GUIControl extends Control and is defined for controls that provide GUI functionalities.

Controls that support a GUI component should implement this interface.

Fields Summary
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.

Constructors Summary
Methods Summary
public java.lang.ObjectinitDisplayMode(int mode, java.lang.Object arg)
Initialize the mode on how the GUI is displayed.

param
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.
param
arg The exact semantics of this argument is specified in the respective mode definitions.
return
The exact semantics and type of the object returned are specified in the respective mode definitions.
exception
IllegalStateException Thrown if initDisplayMode is called again after it has previously been called successfully.
exception
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.