|
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 |