|
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 Displayable.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 Command at the given placement. |
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 Menu at the given placement. |
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 Displayable is 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 Command to the Displayable at
the given placement. |
void |
setCommandLayoutPolicy(CommandLayoutPolicy policy)
This method will set a new CommandLayoutPolicy for this Displayable. |
void |
setCommandListener(CommandListener l)
Sets a listener for Commands to this
Displayable, replacing any previous
CommandListener. |
void |
setMenu(Menu menu,
int placement)
Adds or sets a menu to the Displayable at the given
placement. |
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 Displayable has 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 or is
associated with a placement that does not support commands
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 | |||||||||