| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.microedition.lcdui.Displayable
javax.microedition.lcdui.Screen
javax.microedition.lcdui.List
public class List
A Screen containing list of choices. Most of its behavior is
 common with class ChoiceGroup, and their common API. The
 different List types in particular, are defined in interface
 Choice. When a List is present on the display,
 the user can interact with it by selecting elements and possibly by
 traversing and scrolling among them. Traversing and scrolling operations do
 not cause application-visible events. The system notifies the application
 only when a Command is invoked by notifying its
 CommandListener. The List class also supports a
 select command that may be invoked specially depending upon the capabilities
 of the device.
 
 
 The notion of a select operation on a List element
 is central to the user's interaction with the List. On
 devices that have a dedicated hardware "select" or "go"
 key, the select operation is implemented with that key. Devices that do not
 have a dedicated key must provide another means to do the select operation,
 for example, using a soft key. The behavior of the select operation within
 the different types of lists is described in the following sections.
 
 List objects may be created with Choice types
 of Choice.EXCLUSIVE, Choice.MULTIPLE, and
 Choice.IMPLICIT. The Choice type Choice.POPUP
 is not allowed on List objects.
 
EXCLUSIVE and MULTIPLE Lists
 The select operation is not associated with a Command object,
 so the application has no means of setting a label for it or being notified
 when the operation is performed. In Lists of type
 EXCLUSIVE, the select operation selects the target element
 and deselects the previously selected element. In Lists of
 type MULTIPLE, the select operation toggles the selected
 state of the target element, leaving the selected state of other elements
 unchanged. Devices that implement the select operation using a soft key will
 need to provide a label for it. The label should be something similar to
 "Select" for Lists of type EXCLUSIVE,
 and it should be something similar to "Mark" or "Unmark"
 for Lists of type MULTIPLE.
 
IMPLICIT Lists
 The select operation is associated with a Command object
 referred to as the select command. When the user performs the
 select operation, the system will invoke the select command by notifying the
 List's CommandListener. The default
 select command is the system-provided command SELECT_COMMAND.
 The select command may be modified by the application through use of the
 setSelectCommand method. Devices
 that implement the select operation using a soft key will use the label from
 the select command. If the select command is SELECT_COMMAND,
 the device may choose to provide its own label instead of using the label
 attribute of SELECT_COMMAND. Applications should generally
 provide their own select command to replace SELECT_COMMAND.
 This allows applications to provide a meaningful label, instead of relying on
 the one provided by the system for SELECT_COMMAND. The
 implementation must not invoke the select command if there are no
 elements in the List, because if the List is
 empty the selection does not exist. In this case the implementation should
 remove or disable the select command if it would appear explicitly on a soft
 button or in a menu. Other commands can be invoked normally when the
 List is empty.
 
IMPLICIT Lists
 IMPLICIT Lists can be used to construct menus
 by providing operations as List elements. The application
 provides a Command that is used to select a List
 element and then defines this Command to be used as the select
 command. The application must also register a CommandListener
 that is called when the user selects or activates the Command:
 
  String[] elements = { ... }; //Menu items as List elements
  List menuList = new List("Menu", List.IMPLICIT, elements, null);
  Command selectCommand = new Command("Open", Command.ITEM, 1);
  menuList.setSelectCommand(selectCommand);
  menuList.setCommandListener(...);
 
 
 
 The listener can query the List to determine which element is
 selected and then perform the corresponding action. Note that setting a
 command as the select command adds it to the List as a side
 effect.
 
 The select command should be considered as a default operation
 that takes place when a select key is pressed. For example, a
 List displaying email headers might have three operations:
 read, reply, and delete. Read is considered to be the default operation.
 
  List list = new List("Email", List.IMPLICIT, headers);
  readCommand = new Command("Read", Command.ITEM, 1);
  replyCommand = new Command("Reply", Command.ITEM, 2);
  deleteCommand = new Command("Delete", Command.ITEM, 3);
  list.setSelectCommand(readCommand);
  list.addCommand(replyCommand);
  list.addCommand(deleteCommand);
  list.setCommandListener(...);
 
 
 
 On a device with a dedicated select key, pressing this key will invoke
 readCommand. On a device without a select key, the user is
 still able to invoke the read command, since it is also provided as an
 ordinary Command.
 
It should be noted that this kind of default operation must be used carefully, and the usability of the resulting user interface must always kept in mind. The default operation should always be the most intuitive operation on a particular List.
| Field Summary | |
|---|---|
| static Command | SELECT_COMMANDThe default select command for IMPLICITLists. | 
| Fields inherited from interface javax.microedition.lcdui.Choice | 
|---|
| EXCLUSIVE, IMPLICIT, MULTIPLE, POPUP, TEXT_WRAP_DEFAULT, TEXT_WRAP_OFF, TEXT_WRAP_ON | 
| Constructor Summary | |
|---|---|
| List(java.lang.String title,
     int listType)Creates a new, empty List, specifying its title and the
 type of the list. | |
| List(java.lang.String title,
     int listType,
     java.lang.String[] stringElements,
     Image[] imageElements)Creates a new List, specifying its title, the type of theList, and an array ofStringsandImagesto be used as its initial contents. | |
| Method Summary | |
|---|---|
|  int | append(java.lang.String stringPart,
       Image imagePart)Appends an element to the List. | 
|  void | delete(int elementNum)Deletes the element referenced by elementNum. | 
|  void | deleteAll()Deletes all elements from this List. | 
|  int | getFitPolicy()Gets the application's preferred policy for fitting Choiceelement contents to the available screen space. | 
|  Font | getFont(int elementNum)Gets the application's preferred font for rendering the specified element of this Choice. | 
|  int | getHeight()Returns the height in pixels of the displayable area available for elements. | 
|  Image | getImage(int elementNum)Gets the Imagepart of the element referenced byelementNum. | 
|  int | getSelectedFlags(boolean[] selectedArray_return)Queries the state of a Listand returns the state of all
 elements in the boolean arrayselectedArray_return. | 
|  int | getSelectedIndex()Returns the index number of an element in the Listthat is
 selected. | 
|  java.lang.String | getString(int elementNum)Gets the Stringpart of the element referenced byelementNum. | 
|  int | getWidth()Returns the width in pixels of the displayable area available for elements. | 
|  void | insert(int elementNum,
       java.lang.String stringPart,
       Image imagePart)Inserts an element into the Listjust prior to the element
 specified. | 
|  boolean | isEnabled(int elementNum)Gets a boolean value indicating whether the specified Choice element is enabled or disabled. | 
|  boolean | isSelected(int elementNum)Gets a boolean value indicating whether this element is selected. | 
|  void | removeCommand(Command cmd)The same as Displayable.removeCommandbut with the following additional semantics. | 
|  void | set(int elementNum,
    java.lang.String stringPart,
    Image imagePart)Sets the StringandImageparts of the
 element referenced byelementNum, replacing the previous
 contents of the element. | 
|  void | setEnabled(int elementNum,
           boolean isEnabled)Sets the Choiceelement into enabled or 
 disabled mode. | 
|  void | setFitPolicy(int fitPolicy)Sets the application's preferred policy for fitting Choiceelement contents to the available screen space. | 
|  void | setFont(int elementNum,
        Font font)Sets the application's preferred font for rendering the specified element of this Choice. | 
|  void | setSelectCommand(Command command)Sets the Commandto be used for anIMPLICITListselection action. | 
|  void | setSelectedFlags(boolean[] selectedArray)Sets the selected state of all elements of the List. | 
|  void | setSelectedIndex(int elementNum,
                 boolean selected)Sets the selected state of an element. | 
|  int | size()Gets the number of elements in the List. | 
| Methods inherited from class javax.microedition.lcdui.Displayable | 
|---|
| addCommand, getCommand, getCommandLayoutPolicy, getCommands, getCurrentDisplay, getMenu, getTicker, getTitle, invalidateCommandLayout, isShown, removeCommandOrMenu, setCommand, setCommandLayoutPolicy, setCommandListener, setMenu, setTicker, setTitle, sizeChanged | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final Command SELECT_COMMAND
IMPLICIT Lists.
 Applications using an IMPLICIT List should
 set their own select command using
 setSelectCommand.
 
 
 The field values of SELECT_COMMAND are:
 -
 label = "" (an empty string)
 -
 type = SCREEN
 - priority = 0
 
 (It would be more appropriate if the type were ITEM, but
 the type of SCREEN is retained for historical purposes.)
 
 The application should not use these values for recognizing the
 SELECT_COMMAND. Instead, object identities of the
 Command and Displayable (List)
 should be used.
 
 SELECT_COMMAND is treated as an ordinary
 Command if it is used with other Displayable
 types.
 
| Constructor Detail | 
|---|
public List(java.lang.String title,
            int listType)
List, specifying its title and the
 type of the list.
title - the screen's title (see Displayable)listType - one of IMPLICIT, EXCLUSIVE, or
            MULTIPLE
java.lang.IllegalArgumentException - if listType is not one of
             IMPLICIT, EXCLUSIVE, or
             MULTIPLEChoice
public List(java.lang.String title,
            int listType,
            java.lang.String[] stringElements,
            Image[] imageElements)
List, specifying its title, the type of the
 List, and an array of Strings and
 Images to be used as its initial contents.
 
 
 The stringElements array must be non-null and every array
 element must also be non-null. The length of the
 stringElements array determines the number of elements in
 the List. The imageElements array may be
 null to indicate that the List elements
 have no images. If the imageElements array is non-null, it
 must be the same length as the stringElements array.
 Individual elements of the imageElements array may be
 null in order to indicate the absence of an image for the
 corresponding List element. Non-null elements of the
 imageElements array may refer to mutable or immutable
 images.
 
title - the screen's title (see Displayable)listType - one of IMPLICIT, EXCLUSIVE, or
            MULTIPLEstringElements - set of strings specifying the string parts of the
            List elementsimageElements - set of images specifying the image parts of the
            List elements
java.lang.NullPointerException - if stringElements is null
java.lang.NullPointerException - if the stringElements array contains any null
             elements
java.lang.IllegalArgumentException - if the imageElements array is non-null and has
             a different length from the stringElements
             array
java.lang.IllegalArgumentException - if listType is not one of
             IMPLICIT, EXCLUSIVE, or
             MULTIPLEChoice.EXCLUSIVE, 
Choice.MULTIPLE, 
Choice.IMPLICIT| Method Detail | 
|---|
public int size()
List.
size in interface ChoiceListpublic java.lang.String getString(int elementNum)
String part of the element referenced by
 elementNum.
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
getString in interface ChoiceelementNum - the index of the element to be queried, starting from zero
java.lang.IndexOutOfBoundsException - if elementNum is invalidgetImage(int)public Image getImage(int elementNum)
Image part of the element referenced by
 elementNum.
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
getImage in interface ChoiceelementNum - the index of the element to be queried, starting from zero
null if there is
         no image
java.lang.IndexOutOfBoundsException - if elementNum is invalidgetString(int)
public int append(java.lang.String stringPart,
                  Image imagePart)
List.
append in interface ChoicestringPart - the string part of the element to be addedimagePart - the image part of the element to be added, or
            null if there is no image part
java.lang.NullPointerException - if stringPart is null
public void insert(int elementNum,
                   java.lang.String stringPart,
                   Image imagePart)
List just prior to the element
 specified.
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
insert in interface ChoiceelementNum - the index of the element where insertion is to occur, starting from zerostringPart - the string part of the element to be insertedimagePart - the image part of the element to be inserted, or
            null if there is no image part
java.lang.IndexOutOfBoundsException - if elementNum is invalid
java.lang.NullPointerException - if stringPart is nullpublic void delete(int elementNum)
elementNum.
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
delete in interface ChoiceelementNum - the index of the element to be deleted, starting from zero
java.lang.IndexOutOfBoundsException - if elementNum is invalidpublic void deleteAll()
deleteAll in interface Choice
public void set(int elementNum,
                java.lang.String stringPart,
                Image imagePart)
String and Image parts of the
 element referenced by elementNum, replacing the previous
 contents of the element.
 
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
set in interface ChoiceelementNum - the index of the element to be set, starting from zerostringPart - the string part of the new elementimagePart - the image part of the element, or null if there
            is no image part
java.lang.IndexOutOfBoundsException - if elementNum is invalid
java.lang.NullPointerException - if stringPart is nullpublic boolean isSelected(int elementNum)
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
isSelected in interface ChoiceelementNum - the index of the element to be queried, starting from zero
java.lang.IndexOutOfBoundsException - if elementNum is invalidpublic int getSelectedIndex()
List that is
 selected.
getSelectedIndex in interface Choice-1 if nonesetSelectedIndex(int, boolean)public int getSelectedFlags(boolean[] selectedArray_return)
List and returns the state of all
 elements in the boolean array selectedArray_return.
getSelectedFlags in interface ChoiceselectedArray_return - array to contain the results
Choice
java.lang.IllegalArgumentException - if selectedArray_return is shorter than the
             size of the List
java.lang.NullPointerException - if selectedArray_return is nullsetSelectedFlags(boolean[])
public void setSelectedIndex(int elementNum,
                             boolean selected)
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
setSelectedIndex in interface ChoiceelementNum - the index of the element, starting from zeroselected - the state of the element, where true means
            selected and false means not selected
java.lang.IndexOutOfBoundsException - if elementNum is invalidgetSelectedIndex()public void setSelectedFlags(boolean[] selectedArray)
List.
setSelectedFlags in interface ChoiceselectedArray - an array in which the method collect the selection status
java.lang.IllegalArgumentException - if selectedArray is shorter than the size of
             the List
java.lang.NullPointerException - if selectedArray is nullgetSelectedFlags(boolean[])public void removeCommand(Command cmd)
Displayable.removeCommand
 but with the following additional semantics.
 
 
 If the command to be removed happens to be the select command, the
 List is set to have no select command, and the command is
 removed from the List.
 
The following code:
// Command c is the select command on List list list.removeCommand(c);
is equivalent to the following code:
// Command c is the select command on List list list.setSelectCommand(null); list.removeCommand(c);
removeCommand in class Displayablecmd - the command to be removedpublic void setSelectCommand(Command command)
Command to be used for an
 IMPLICIT List selection action. By default,
 an implicit selection of a List will result in the predefined
 List.SELECT_COMMAND being used. This behavior may be
 overridden by calling the List.setSelectCommand() method
 with an appropriate parameter value. If a null reference
 is passed, this indicates that no "select" action is
 appropriate for the contents of this List.
 
 
 If a reference to a command object is passed, and it is not the special
 command List.SELECT_COMMAND, and it is not currently
 present on this List object, the command object is added
 to this List as if addCommand(command) had
 been called prior to the command being made the select command. This
 indicates that this command is to be invoked when the user performs the
 "select" on an element of this List.
 
 The select command should have a command type of ITEM to
 indicate that it operates on the currently selected object. It is not an
 error if the command is of some other type. (List.SELECT_COMMAND
 has a type of SCREEN for historical purposes.) For
 purposes of presentation and placement within its user interface, the
 implementation is allowed to treat the select command as if it were of
 type ITEM.
 
 If the select command is later removed from the List with
 removeCommand(), the List is set to have
 no select command as if List.setSelectCommand(null) had
 been called.
 
 The default behavior can be reestablished explicitly by calling
 setSelectCommand() with an argument of
 List.SELECT_COMMAND.
 
 This method has no effect if the type of the List is not
 IMPLICIT.
 
command - the command to be used for an IMPLICIT list
            selection action, or null if there is nonepublic void setFitPolicy(int fitPolicy)
Choice
 element contents to the available screen space. The set policy applies
 for all elements of the Choice object. Valid values are
 Choice.TEXT_WRAP_DEFAULT, Choice.TEXT_WRAP_ON, and
 Choice.TEXT_WRAP_OFF. Fit policy is a hint, and the implementation may
 disregard the application's preferred policy.
setFitPolicy in interface ChoicefitPolicy - preferred content fit policy for choice elements
java.lang.IllegalArgumentException - if fitPolicy is invalidgetFitPolicy()public int getFitPolicy()
Choice
 element contents to the available screen space. The value returned is the
 policy that had been set by the application, even if that value had been
 disregarded by the implementation.
getFitPolicy in interface ChoiceChoice.TEXT_WRAP_DEFAULT, Choice.TEXT_WRAP_ON, or
         Choice.TEXT_WRAP_OFFsetFitPolicy(int)
public void setFont(int elementNum,
                    Font font)
Choice. An element's font is a hint, and the
 implementation may disregard the application's preferred font.
 
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive.
 
 The font parameter must be a valid Font
 object or null. If the font parameter is
 null, the implementation must use its default font to
 render the element.
 
setFont in interface ChoiceelementNum - the index of the element, starting from zerofont - the preferred font to use to render the element
java.lang.IndexOutOfBoundsException - if elementNum is invalidgetFont(int)public Font getFont(int elementNum)
Choice. The value returned is the font that had
 been set by the application, even if that value had been disregarded by
 the implementation. If no font had been set by the application, or if the
 application explicitly set the font to null, the value is
 the default font chosen by the implementation.
 
 
 The elementNum parameter must be within the range
 [0..size()-1], inclusive.
 
getFont in interface ChoiceelementNum - the index of the element, starting from zero
java.lang.IndexOutOfBoundsException - if elementNum is invalidsetFont(int elementNum, Font font)
public void setEnabled(int elementNum,
                       boolean isEnabled)
Choice element into enabled or 
 disabled mode. The set mode applies for the
 element of the Choice object specified by the elementNum 
 parameter. The elementNum parameter must be within the 
 range [0..size()-1], inclusive. A disabled Choice element 
 SHOULD be visually different from an enabled Choice element.
setEnabled in interface ChoiceelementNum - the index of the element to which the mode change 
 is applied, the index starts from zeroisEnabled - true if enabled, false if disabled
java.lang.IndexOutOfBoundsException - if elementNum is 
 invalidisEnabled(int)public boolean isEnabled(int elementNum)
 The elementNum parameter must be within the range
 [0..size()-1], inclusive. 
 
isEnabled in interface ChoiceelementNum - the index of the element to be queried
java.lang.IndexOutOfBoundsException - if elementNum is 
 invalidpublic int getWidth()
List that can be shown without scrolling. 
 If the List is bound to a Display 
 through a call to 
 setCurrent, the width returned MUST NOT 
 be larger that getWidth. If a 
 List in a TabbedPane is brought into 
 focus, then the width returned MUST NOT be larger than 
 getWidth.
getWidth in class DisplayableListpublic int getHeight()
List that can be shown without scrolling. 
 If the List is bound to a Display 
 through a call to 
 setCurrent, the height returned MUST NOT 
 be larger that getHeight. If a 
 List in a TabbedPane is brought into 
 focus, then the height returned MUST NOT be larger than 
 getHeight.
getHeight in class DisplayableList| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||