| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.microedition.lcdui.Displayable
public abstract class Displayable
An object that has the capability of being placed on the display. A
 Displayable object may have a title, a ticker, zero or more
 commands and a listener associated with it. The contents displayed and their
 interaction with the user are defined by subclasses.
 
 
The title string may contain line breaks. The display of the title string must break accordingly. For example, if only a single line is available for a title and the string contains a line break then only the characters up to the line break are displayed.
 Unless otherwise specified by a subclass, the default state of newly created
 Displayable objects is as follows:
 
Display;Ticker associated with this
 Displayable;null;Commands present; andCommandListener present.
 In MIDP3.0 the method of using type and priority for
 Commands placement is supplemented with a method to use absolute placement
 using the optional placement value. The available placements are 
 retrieved from Display.getExactPlacements.
 A placement is encoded as a base value
 for each border plus an index of the soft key along the border.
 
 For more details see Display.
| Method Summary | |
|---|---|
|  void | addCommand(Command cmd)Adds a command to the Displayable. | 
|  Command | getCommand(int placement)Gets the Commandat the givenplacement. | 
|  CommandLayoutPolicy | getCommandLayoutPolicy()This method will return the current CommandLayoutPolicy for this Displayable. | 
|  Command[] | getCommands()Gets the set of commands that has been added to the Displayable. | 
|  Display | getCurrentDisplay()Returns the Display associated with this Displayable. | 
| abstract  int | getHeight()Gets the height of the Displayable, in pixels. | 
|  Menu | getMenu(int placement)Gets the Menuat the givenplacement. | 
|  Ticker | getTicker()Gets the ticker used by this Displayable. | 
|  java.lang.String | getTitle()Gets the title of the Displayable. | 
| abstract  int | getWidth()Gets the width of the Displayable, in pixels. | 
|  void | invalidateCommandLayout()Request an update of the layout policy. | 
|  boolean | isShown()Checks if the Displayableis visible on the display. | 
|  void | removeCommand(Command cmd)Removes a command from the Displayable. | 
|  void | removeCommandOrMenu(int placement)Removes the Command or Menu present at the given exact placement. | 
|  void | setCommand(Command cmd,
           int placement)Adds or sets a Commandto theDisplayableat 
 the givenplacement. | 
|  void | setCommandLayoutPolicy(CommandLayoutPolicy policy)This method will set a new CommandLayoutPolicy for this Displayable. | 
|  void | setCommandListener(CommandListener l)Sets a listener for Commandsto thisDisplayable, replacing any previousCommandListener. | 
|  void | setMenu(Menu menu,
        int placement)Adds or sets a menu to the Displayableat the givenplacement. | 
|  void | setTicker(Ticker ticker)Sets a ticker for use with this Displayable, replacing
 any previous ticker. | 
|  void | setTitle(java.lang.String s)Sets the title of the Displayable. | 
| protected  void | sizeChanged(int w,
            int h)The implementation calls this method when the available area of the Displayablehas been changed. | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Method Detail | 
|---|
public java.lang.String getTitle()
Displayable. Returns
 null if there is no title.
null if no titlesetTitle(java.lang.String)public void setTitle(java.lang.String s)
Displayable. If null
 is given, removes the title.
 
 
 If the Displayable is actually visible on the display, the
 implementation should update the display as soon as it is feasible to do
 so.
 
 The existence of a title may affect the size of the area available for
 Displayable content. Addition, removal, or the setting of
 the title text at runtime may dynamically change the size of the content
 area. This is most important to be aware of when using the
 Canvas class. If the available area does change, the
 application will be notified via a call to
 sizeChanged().
 
s - the new title, or null for no title
DisplayCapabilityException - if the Displayable is set to a Display that
             does not support TitlesgetTitle()public void setTicker(Ticker ticker)
Displayable, replacing
 any previous ticker. If null, removes the ticker object
 from this Displayable. The same ticker may be shared by
 several Displayable objects within an application. This is
 done by calling setTicker() with the same
 Ticker object on several different
 Displayable objects. If the Displayable is
 actually visible on the display, the implementation should update the
 display as soon as it is feasible to do so.
 
 
 The existence of a ticker may affect the size of the area available for
 Displayable's contents. Addition, removal, or the setting
 of the ticker at runtime may dynamically change the size of the content
 area. This is most important to be aware of when using the
 Canvas class. If the available area does change, the
 application will be notified via a call to
 sizeChanged().
 
ticker - the ticker object used on this screen
DisplayCapabilityException - if the Displayable is set to a Display that
             does not support TickersgetTicker()public Ticker getTicker()
Displayable.
null if no ticker is
         presentsetTicker(javax.microedition.lcdui.Ticker)public boolean isShown()
Displayable is visible on the display. A
 Displayable is considered to be visible if at least one of its pixels is
 visible to the user. In order for a Displayable to be
 visible, all of the following must be true: the Display
 must not be in the background, the Displayable must be the
 Display's current screen, and at least one pixel of the
 screen's display resource must be allocated to the Display.
true if the Displayable is
         currently at all visiblepublic void addCommand(Command cmd)
Displayable. The implementation may
 choose, for example, to add the command to any of the available soft
 buttons or place it in a menu. If the added command is already in the
 screen (tested by comparing the object references), the method has no
 effect. If the Displayable is actually visible on the
 display, and this call affects the set of visible commands, the
 implementation should update the display as soon as it is feasible to do
 so.
cmd - the command to be added
java.lang.NullPointerException - if cmd is null
DisplayCapabilityException - if the Displayable is set to a Display that
             does not support Commandspublic Command getCommand(int placement)
Command at the given placement. 
 If the placement is empty or contains a Menu, 
 null is returned.
placement - the placement to query
Command instance located at the given placement, or 
         null if no Command exists at the given placement.
java.lang.IllegalArgumentException - if the provided placement is not valid.
public void setCommand(Command cmd,
                       int placement)
Command to the Displayable at 
 the given placement. If the Command already 
 exists on another placement of this Displayable, it will 
 be moved to the new placement. Just before the Command is 
 added, any Menu or Command already occupying
 the given placement will be removed from the associated 
 Item or Displayable.
 
 
 This method should only be called from inside an implementation of the
 CommandLayoutPolicy interface.
 
 If the Displayable is actually visible on the display, and
 this call affects the set of visible commands, the implementation should
 update the display as soon as it is feasible to do so.
cmd - the Command to be addedplacement - the placement of the Command to be added
java.lang.NullPointerException - if cmd is null
DisplayCapabilityException - if the Displayable is set to a 
           Display that does not support 
           Commands
java.lang.IllegalArgumentException - if the provided placement is not valid
java.lang.IllegalStateException - If this method is not called from a
           CommandLayoutPolicy.onCommandLayout() 
           implementation.
java.lang.IllegalStateException - If this Displayable is neither the same instance passed into 
           the CommandLayoutPolicy.onCommandLayout() method
           nor the current tab of a TabbedPanepublic Menu getMenu(int placement)
Menu at the given placement.
 If the placement is empty or contains a Command, 
 null is returned.
placement - the placement to query
Menu instance located at the given placement, or 
         null if no Menu exists at the given placement.
java.lang.IllegalArgumentException - if the provided placement is not valid.
public void setMenu(Menu menu,
                    int placement)
Displayable at the given
 placement. If the menu already exists on another placement
 of this Displayable, it will be moved to the new placement. Just before
 the Menu is added, any Menu or 
 Command already occupying the given placement will be 
 removed from the associated Item or 
 Displayable.
 
 This method should only be called from inside an implementation of the
 CommandLayoutPolicy interface.
 
 If the Displayable is actually visible on the display, and
 this call affects the set of visible commands, the implementation should
 update the display as soon as it is feasible to do so.
menu - the menu to be addedplacement - the placement of the menu to be added
java.lang.NullPointerException - if menu is null
DisplayCapabilityException - if the Displayable is set to a Display that does not support
           Menus
java.lang.IllegalArgumentException - if the provided placement is not valid or is
           associated with a placement that does not support menus
java.lang.IllegalStateException - If this method is not called from a
           CommandLayoutPolicy.onCommandLayout() 
           implementation.
java.lang.IllegalStateException - If this Displayable is neither the same instance passed into 
           the CommandLayoutPolicy.onCommandLayout() method
           nor the current tab of a TabbedPanepublic void removeCommandOrMenu(int placement)
placement - the placement of the Command or Menu to be removed
java.lang.IllegalArgumentException - if the provided placement is not valid
java.lang.IllegalStateException - If this method is not called from a
           Command.onCommandLayout() implementation.public void removeCommand(Command cmd)
Displayable. If the command is
 not in the Displayable (tested by comparing the object
 references), the method has no effect. If the Displayable
 is actually visible on the display, and this call affects the set of
 visible commands, the implementation should update the display as soon as
 it is feasible to do so. If cmd is null,
 this method does nothing.
cmd - the command to be removedpublic void setCommandListener(CommandListener l)
Commands to this
 Displayable, replacing any previous
 CommandListener. A null reference is
 allowed and has the effect of removing any existing listener.
l - the new listener, or null.public abstract int getWidth()
Displayable, in pixels. The returned value 
 indicates the width of the Displayable's content area that is available 
 in its entirety for the developer to use. The content area specifically 
 excludes any portions of the screen that are not directly useable by the 
 developer such as areas occupied by status bars, commands, tickers, titles, 
 and other on-screen artifacts (e.g. an on-screen keypad to support game 
 actions on touch-screen devices). The returned value reflects the size and 
 layout of the default Display if the Displayable is 
 not currently shown on a Display.
public abstract int getHeight()
Displayable, in pixels. The returned value 
 indicates the height of the Displayable's content area that is available 
 in its entirety for the developer to use. The content area specifically 
 excludes any portions of the screen that are not directly useable by the 
 developer such as areas occupied by status bars, commands, tickers, titles, 
 and other on-screen artifacts (e.g. an on-screen keypad to support game 
 actions on touch-screen devices). The returned value reflects the size and 
 layout of the default Display if the Displayable is 
 not currently shown on a Display.
protected void sizeChanged(int w,
                           int h)
Displayable has been changed. The "available
 area" is the area of the display that may be occupied by the
 application's contents, such as Items in a
 Form or graphics within a Canvas. It does
 not include space occupied by a title, a ticker, command labels, scroll
 bars, system status area, etc. A size change can occur as a result of the
 addition, removal, or changed contents of any of these display features.
 
 
 This method is called at least once before the Displayable
 is shown for the first time. If the size of a Displayable
 changes while it is visible, sizeChanged will be called.
 If the size of a Displayable changes while it is
 not visible, calls to sizeChanged may be
 deferred. If the size had changed while the Displayable
 was not visible, sizeChanged will be called at least once
 at the time the Displayable becomes visible once again.
 
 The default implementation of this method in Displayable
 and its subclasses defined in this specification must be empty. This
 method is intended solely for being overridden by the application. This
 method is defined on Displayable even though applications
 are prohibited from creating direct subclasses of
 Displayable. It is defined here so that applications can
 override it in subclasses of Canvas and Form.
 This is useful for Canvas subclasses to tailor their
 graphics and for Forms to modify Item sizes
 and layout directives in order to fit their contents within the
 available display area.
 
w - the new width in pixels of the available areah - the new height in pixels of the available areapublic Display getCurrentDisplay()
null if this Displayable is not bound to any Display.
null if this
         Displayable is not bound to a Display.public void setCommandLayoutPolicy(CommandLayoutPolicy policy)
policy - The new CommandLayoutPolicy that should be used. If the
          parameter is null then default policy for the Display is used.public CommandLayoutPolicy getCommandLayoutPolicy()
public Command[] getCommands()
public void invalidateCommandLayout()
| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||