|
|||||||||
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.RadioButtonField
public class RadioButtonField
Field to provide a radio-button control.
Behaviour
Displays a circular button to the left of the text label. With the default
font, this button is either empty or contain a solid circle depending on the
state of the field. When this field has the focus, the button appears
inverted.
You group together Radio buttons fields using the
RadioButtonGroup
class. At most one button within the group can be
selected at any one time. The group can be programmatically created or
changed so that no button is selected, but a user cannot
deselect all fields in the group.
If the control is EDITABLE
(radio button fields are
created this way by default), pressing ENTER selects this field and deselects
the previously selected radio button field in the group.
Field Summary |
---|
Constructor Summary | ||
---|---|---|
RadioButtonField()
Constructs a new RadioButtonField instance. |
||
RadioButtonField(String label)
Constructs a new RadioButtonField instance with label. |
||
RadioButtonField(String label,
RadioButtonGroup group,
boolean selected)
Constructs a new RadioButtonField instance for a group, with label and initial state. |
||
RadioButtonField(String label,
RadioButtonGroup group,
boolean selected,
long style)
Constructs a new RadioButtonField instance for a group, with label, initial state and 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. |
|
void |
getFocusRect(XYRect rect)
Retrieves this field's current focus region. |
|
RadioButtonGroup |
getGroup()
Retrieves this field's controlling group. |
|
String |
getLabel()
Retrieves this field's label. |
|
int |
getPreferredHeight()
Retrieves this field's preferred height. |
|
int |
getPreferredWidth()
Retrieves this field's preferred width. |
|
boolean |
isSelected()
Determines if this field's radio button is selected. |
|
protected boolean |
keyChar(char key,
int status,
int time)
Traps ENTER or SPACE key generation events. |
|
protected boolean |
keyDown(int keycode,
int time)
This method handles and consumes a key generation event, if it's the '5/GH' key (the 'Action' hotkey for Charm device) that's generated; otherwise, this method does nothing and does not consume the event. |
|
protected void |
layout(int width,
int height)
Lays out this field's contents. |
|
protected void |
makeContextMenu(ContextMenu contextMenu)
Builds this field's context menu. |
|
protected void |
onFocus(int direction)
Invoked when a field receives the focus. |
|
protected void |
onUnfocus()
Invoked when a field loses the focus. |
|
protected void |
paint(Graphics graphics)
Redraws this field. |
|
void |
setLabel(String label)
Sets the label for this field. |
|
void |
setSelected(boolean selected)
Sets the state of this field's radio button. |
|
protected boolean |
touchEvent(TouchEvent message)
Traps touch screen input events. |
|
protected boolean |
trackwheelClick(int status,
int time)
Indicates a trackwheel click event. |
|
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 |
Constructor Detail |
---|
public RadioButtonField()
This builds a new, unselected radio button field with no label, and no initial assigned group.
If full available width is not desired, then RadioButtonField.NO_USE_ALL_WIDTH
style
must be specified using the appropriate constructor.
public RadioButtonField(String label)
Before you can use the newly built radio button field, you must add it to a valid radio button group.
If full available width is not desired, then RadioButtonField.NO_USE_ALL_WIDTH
style
must be specified using the appropriate constructor.
label
- Label for this field.public RadioButtonField(String label, RadioButtonGroup group, boolean selected)
If full available width is not desired, then RadioButtonField.NO_USE_ALL_WIDTH
style
must be specified using the appropriate constructor.
label
- Label for this field.group
- RadioButtonGroup
this button belongs to.selected
- if true, the radio button begins as selected.public RadioButtonField(String label, RadioButtonGroup group, boolean selected, long style)
If full available width is not desired, then RadioButtonField.NO_USE_ALL_WIDTH
style
must be specified using the appropriate constructor.
label
- Label for this field.group
- RadioButtonGroup
this button belongs to.selected
- if true, the radio button begins as selected.style
- The style for this field.Method Detail |
---|
protected void drawFocus(Graphics graphics, boolean on)
drawFocus
in class Field
graphics
- Graphics context for drawing the focus.on
- True if the focus should be set; otherwise, false.public void getFocusRect(XYRect rect)
The framework uses this method to retrieve the current focus region for this field (the extent of the 'radio button' part of the field, not including the label).
getFocusRect
in class Field
rect
- To contain the focus rect for this field in local
coordinates.public String getLabel()
public int getPreferredHeight()
Field.getPreferredHeight()
for more information.
Managers may make use of this value during layout.
getPreferredHeight
in class Field
public int getPreferredWidth()
Field.getPreferredWidth()
for more information.
Managers make use of this value during layout.
getPreferredWidth
in class Field
public RadioButtonGroup getGroup()
Invoke this method to retrieve the radio button group that controls this field.
public boolean isSelected()
IllegalStateException
- If the button is not a member of a group.protected boolean keyChar(char key, int status, int time)
This method handles and consumes a key generation event, if it's the ENTER or SPACE key that's generated; otherwise, this method does nothing and does not consume the event.
If the ENTER or SPACE key was pressed, then this method selects this
field as if invoking setSelected(true)
.
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 boolean keyDown(int keycode, int time)
This method handles and consumes a key generation event, if it's the '5/GH' key (the 'Action' hotkey for Charm device) that's generated; otherwise, this method does nothing and does not consume the event.
If the '5/GH' key was pressed, then this method selects this
field as if invoking setSelected(true)
.
keyDown
in class Field
keycode
- Character generated by the event.time
- Number of milliseconds since the device was turned on.
Field.keyDown(int, int)
.protected boolean touchEvent(TouchEvent message)
This method handles touch screen input events. DOWN events cause this RadioButtonField to enter a focused state, which is in fact handled at the Manager level. UNCLICK events select the radio button. The remaining touch screen input events are consumed and/or ignored.
touchEvent
in class Field
message
- TouchEvent
object containing various input parameters
including the event type and touch coordinates.
IllegalArgumentException
- If message
is null.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
- Horizontal space available (note that radio button fields
always use all available horizontal space).height
- Vertical space available.protected void makeContextMenu(ContextMenu contextMenu)
If UiInternal.getShouldShowChangeOptionMenuItem()
returns true and
this field is Field.EDITABLE
, this method builds this field's
context menu adding a menu item for changing this field's value.
makeContextMenu
in class Field
contextMenu
- Context menu to build.ContextMenu
protected void onFocus(int direction)
Field
The method will not be invoked if this field already has focus. Also,
it will not be invoked if this field returns false from
Field.isFocusable()
.
Managers should find a child field that accepts focus and cascade this method's call to it.
The direction value indicates how the focus came to enter the field:
onFocus
in class Field
direction
- Indicates from which direction the focus enters the
field.protected void onUnfocus()
Field
The method will not be invoked if this field does not already have the focus.
By default, this method clears the muddy bit and removes selection. If your custom field requires special handling upon losing the focus, you must override this method. Don't forget to call this method on the parent though, or the muddy bit won't get cleared.
onUnfocus
in class Field
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.public void setLabel(String label)
label
- New label for this field.public void setSelected(boolean selected)
Invoke this method to change the selected state of this radio button
field. Notice that radio button selection is typically handled by the
RadioButtonGroup
; using this method is a programmatic change
which can result in no buttons in a group being selected.
selected
- True if this field should be selected (if another radio
button field in the group was selected, it is deselected); false if this
field should be deselected (if this radio button field was previously
selected, then no field in the group will be selected).
IllegalStateException
- If the button is not a member of a group.protected boolean trackwheelClick(int status, int time)
The system invokes this method when passing on a trackwheel click event.
The ALT-click combination will enter selection mode, or if in selection mode will copy.
trackwheelClick
in class Field
status
- Bitfield of values defined by Keypad
.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.