|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.ui.Field
net.rim.device.api.ui.component.ButtonField
public class ButtonField
Contains a button control.
When the user presses a ButtonField
the FieldChangeListener
that
was set by invoking setChangeListener()
is notified by its
fieldChanged()
method being invoked.
The code below demonstrates how to use this technique to respond to button presses.
FieldChangeListener listener = new FieldChangeListener() { public void fieldChanged(Field field, int context) { ButtonField buttonField = (ButtonField) field; System.out.println("Button pressed: " + buttonField.getLabel()); } }; ButtonField buttonField = new ButtonField("Test Button"); buttonField.setChangeListener(listener);After
buttonField
is added to a screen, the text
"Button pressed: Test Button" will be printed to System.out
each time
the button is pressed.
The default alignment of a button will be DrawStyle.VCENTER
and DrawStyle.HCENTER
. The label will be centered vertically
and horizontally.
Behaviour
Displays a button.
Field Summary | ||
---|---|---|
static int |
BARE
Deprecated. Used only for non-color devices. |
|
static long |
CONSUME_CLICK
Indicates to the button consume the click event. |
|
static long |
NEVER_DIRTY
Indicates to the button not become dirty or muddy on the click event. |
Fields inherited from interface net.rim.device.api.ui.DrawStyle |
---|
BASELINE, BOTTOM, ELLIPSIS, HALIGN_MASK, HCENTER, HDEFAULT, HFULL, LEADING, LEFT, RIGHT, TOP, TRAILING, TRUNCATE_BEGINNING, VALIGN_MASK, VCENTER, VDEFAULT, VFULL |
Constructor Summary | ||
---|---|---|
ButtonField()
Constructs a new ButtonField instance. |
||
ButtonField(String label)
Constructs a new ButtonField instance with provided label. |
||
ButtonField(String label,
long style)
Constructs a new ButtonField instance with provided label and style. |
||
ButtonField(long style)
Constructs a new ButtonField instance with provided style. |
Method Summary | ||
---|---|---|
protected void |
drawFocus(Graphics graphics,
boolean on)
Draws the focus indicator for this field. |
|
AccessibleContext |
getAccessibleContext()
Returns accessible representation of the field for a screen reader |
|
String |
getLabel()
Retrieves this field's label. |
|
int |
getPreferredHeight()
Retrieves this field's preferred height. |
|
int |
getPreferredWidth()
Retrieves this field's preferred width. |
|
Runnable |
getRunnable()
Returns the Runnable associated with this button's action. |
|
protected boolean |
invokeAction(int action)
Invokes an action on this field. |
|
protected boolean |
keyChar(char key,
int status,
int time)
Traps ENTER key generation events. |
|
protected boolean |
keyDown(int keycode,
int time)
Handles key down events. |
|
protected boolean |
keyUp(int keycode,
int time)
Handles key up events. |
|
protected void |
layout(int width,
int height)
Lays out this field's contents. |
|
protected void |
onUnfocus()
Invoked when a field loses the focus. |
|
protected void |
paint(Graphics graphics)
Redraws this field. |
|
void |
setDirty(boolean dirty)
Sets the dirty state of the field. |
|
void |
setLabel(String label)
Sets label string for this field. |
|
void |
setMuddy(boolean muddy)
Sets the muddy state for this field. |
|
void |
setRunnable(Runnable runnable)
Sets the Runnable to be invoked by this button's action. |
|
protected boolean |
trackwheelClick(int status,
int time)
Handles trackwheel click events. |
|
protected boolean |
trackwheelUnclick(int status,
int time)
Indicates a trackwheel release event. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int BARE
public static final long CONSUME_CLICK
public static final long NEVER_DIRTY
Constructor Detail |
---|
public ButtonField()
public ButtonField(long style)
style
- Field style for the button: can be a combation of any
generic field style, ButtonField.BARE
, DrawStyle.ELLIPSIS
,
Field.FOCUSABLE
, Field.NON_FOCUSABLE
,
any of Field
's horizontal or vertical alignment styles. The
default horizontal alignment will be DrawStyle.HCENTER
, and
the default vertical alignment will be DrawStyle.VCENTER
.public ButtonField(String label)
Provided a label string to show, this method builds a button field in the default style.
label
- Label string for the button.public ButtonField(String label, long style)
Provided a label string to show, and a style, this method builds a button field using your style.
label
- Label string for the button.style
- Field style for the button: can be a combation of any
generic field style, ButtonField.BARE
, DrawStyle.ELLIPSIS
,
Field.FOCUSABLE
, Field.NON_FOCUSABLE
and
any of Field
's horizontal or vertical alignment styles. The
default horizontal alignment will be DrawStyle.HCENTER
, and
the default vertical alignment will be DrawStyle.VCENTER
.Method Detail |
---|
protected void drawFocus(Graphics graphics, boolean on)
This field's manager invokes this method after applyThemeOnStateChangeing this field. The manager initializes the graphics object passed in for drawing with field-local coordinates.
This method inverts the focus rect obtained from
Field.getFocusRect(net.rim.device.api.ui.XYRect)
.
drawFocus
in class Field
graphics
- Graphics context used for drawing the focus.on
- True if the focus should be set; otherwise, false.public String getLabel()
public int getPreferredWidth()
Field.getPreferredWidth()
for more information.
This field's manager invokes this method to assist in its layout.
getPreferredWidth
in class Field
public int getPreferredHeight()
Field.getPreferredHeight()
for more information.
This field's manager invokes this method to assist in its layout.
getPreferredHeight
in class Field
public Runnable getRunnable()
protected boolean invokeAction(int action)
Field.ACTION_INVOKE
, which simulates this button being pressed.
If action
is not a recognized action then this method does nothing and
returns false
, indicating that the action was not consumed.
invokeAction
in class Field
action
- the action to be performed on this field.
true
if the action was consumed; false
if the action was not consumed.protected boolean keyDown(int keycode, int time)
By default, this method returns false; custom fields that specially handle key down events must override this method.
keyDown
in class Field
keycode
- Code of key pressed.time
- Number of milliseconds since the device was turned on.
protected boolean keyUp(int keycode, int time)
By default, this method returns false; custom fields that specially handle key up events must override this method.
keyUp
in class Field
keycode
- Code of key released.time
- Number of milliseconds since the device was turned on.
protected boolean keyChar(char key, int status, int time)
This method handles and consumes a key generation event, if it's the ENTER key that's generated; otherwise, this method does nothing and does not consume the event.
keyChar
in class Field
key
- Character generated by the event.status
- Modifier key status (this parameter is ignored).time
- Number of milliseconds since the device was turned on.
protected void layout(int width, int height)
This field's manager invokes this method during the layout process to instruct this field to arrange its contents, given an amount of available space.
layout
in class Field
width
- Amount of available horizontal space.height
- Amount of available vertical space.protected void paint(Graphics graphics)
This field's manager invokes this method during the repainting process to instruct this field to repaint itself.
paint
in class Field
graphics
- Graphics context for repainting this field.protected void onUnfocus()
The method will not be invoked if this field does not already have the focus.
onUnfocus
in class Field
public void setDirty(boolean dirty)
Invoke this method to indicate either that a field's contents have changed (passing true), or that a field's changes have been dealt with and is no longer dirty (passing false).
setDirty
in class Field
dirty
- Specify true if this field is dirty; otherwise, specify
false to set the field to clean.Field.isDirty()
,
Field.setMuddy(boolean)
public void setLabel(String label)
label
- Label string for this field.public void setMuddy(boolean muddy)
setMuddy
in class Field
muddy
- True if this field should be made muddy; flase to un-muddy
this field.Field.isMuddy()
,
Field.setDirty(boolean)
public void setRunnable(Runnable runnable)
Runnable
- The Runnable to setprotected boolean trackwheelClick(int status, int time)
The system invokes this method when passing on a trackwheel click event. This method is transparent, and the event is not consumed.
trackwheelClick
in class Field
status
- State of the modifier keys.time
- Number of milliseconds since the device was turned on.
protected boolean trackwheelUnclick(int status, int time)
The system invokes this method when passing on a trackwheel release event.
trackwheelUnclick
in class Field
status
- Bitfield of values defined by Keypad
.time
- Number of milliseconds since the device was turned on.
public AccessibleContext getAccessibleContext()
getAccessibleContext
in class Field
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.