|
Java DTV API 1.0 12-Dec-2008 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.lwuit.Component
com.sun.dtv.ui.MatteEnabledComponent
com.sun.dtv.ui.ViewOnlyComponent
com.sun.lwuit.List
A set of elements that is rendered using a ListCellRenderer
and are extracted via the ListModel
.
A list can represent many UI concepts ranging from a carousel to a "todo" checklist, this is made possible thanks to extensive use of Swing's style of MVC. Specifically a list component is relatively simple, it invokes the model in order to extract the displayed/selected information and shows it to the user by invoking the cell renderer.
The list class itself is completely decoupled from everything, thus it allows us to extract its content from any source (e.g. network, storage etc.) and display the information in any form (e.g. checkboxed elements, icons etc.).
ListModel
Field Summary | |
static int |
FIXED_CENTER
Indicates the list selection is fixed into place at the center of the list. |
static int |
FIXED_LEAD
Indicates the list selection is fixed into place at the top of the list or at the left of the list. |
static int |
FIXED_NONE
Indicates the list isn't fixed and that selection is movable. |
static int |
FIXED_NONE_CYCLIC
Indicates that the list is not fixed in place but cycles its elements. |
static int |
FIXED_NONE_ONE_ELEMENT_MARGIN_FROM_EDGE
Indicates the list selection will only reach the edge when there are no more elements in the list. |
static int |
FIXED_TRAIL
Indicates the list selection is fixed into place at the bottom of the list or at the right of the list. |
static int |
HORIZONTAL
Indicates the list orientation is HORIZONTAL. |
static int |
VERTICAL
Indicates the list orientation is VERTICAL. |
Fields inherited from class com.sun.dtv.ui.ViewOnlyComponent |
HORIZONTAL_ALIGN_CENTER, HORIZONTAL_ALIGN_JUSTIFIED, HORIZONTAL_ALIGN_LEFT, HORIZONTAL_ALIGN_RIGHT, SCALE_ASPECT_PROOF, SCALE_NO, SCALE_NO_ASPECT_PROOF, VERTICAL_ALIGN_BOTTOM, VERTICAL_ALIGN_CENTER, VERTICAL_ALIGN_JUSTIFIED, VERTICAL_ALIGN_TOP |
Fields inherited from class com.sun.lwuit.Component |
BOTTOM, BRB_CENTER_OFFSET, BRB_CONSTANT_ASCENT, BRB_CONSTANT_DESCENT, BRB_OTHER, CENTER, LEFT, RIGHT, TOP |
Fields inherited from interface com.sun.dtv.ui.Animated |
ALTERNATING, LOOP, REPEATING |
Constructor Summary | |
List()
Creates a new instance of List with an empty default model. |
|
List(ListModel model)
Creates a new instance of List with the given model. |
|
List(Object[] items)
Creates a new instance of List. |
|
List(Vector items)
Creates a new instance of List. |
Method Summary | |
void |
addActionListener(ActionListener l)
Allows binding a listener to user selection actions. |
void |
addItem(Object item)
Allows adding an element to a list if the underlying model supports this, notice that it is an optional operation and if the model does not support it (default list model does) then this operation may failed. |
void |
addSelectionListener(SelectionListener l)
Invoked to indicate interest in future selection events. |
boolean |
animate()
Allows the animation to reduce "repaint" calls when it returns false. |
protected Dimension |
calcPreferredSize()
Calculates the preferred size based on component content. |
protected void |
fireActionEvent()
This method allows us to detect an action event internally without implementing the action listener interface. |
protected void |
fireClicked()
When working in 3 softbutton mode "fire" key (center softbutton) is sent to this method in order to allow 3 button devices to work properly. |
int |
getBorderGap()
Getting the surrounding border gap. |
int |
getFixedSelection()
Indicates whether selection is fixable to place in which case all the elements in the list move and selection stays in place. |
int |
getItemGap()
Returns the gap between items. |
ListModel |
getModel()
Returns the model underlying the list. |
int |
getOrientation()
Returns the list orientation. |
ListCellRenderer |
getRenderer()
Returns the renderer which is used to draw list elements. |
Object |
getRenderingPrototype()
See set rendering prototype. |
int |
getSelectedIndex()
Returns the current selected offset in the list. |
Object |
getSelectedItem()
Returns the current selected item in the list or null for no selection. |
protected String |
getUIID()
Unique identifier for a component, must be overriden for a component so a style can be applied to the component. |
protected void |
initComponent()
Allows subclasses to bind functionality that relies on fully initialized and "ready for action" component state. |
boolean |
isNumericKeyActions()
Indicate whether pressing the number keys should trigger an action. |
boolean |
isScrollableX()
Indicates whether the component should/could scroll on the X axis. |
boolean |
isScrollableY()
Indicates whether the component should/could scroll on the Y axis. |
protected boolean |
isSelectableInteraction()
This method allows a component to indicate that it is interested in an "implicit" select command to appear in the "fire" button when 3 softbuttons are defined in a device. |
void |
keyPressed(int keyCode)
If this Component is focused, the key pressed event will call this method. |
void |
keyReleased(int keyCode)
If this Component is focused, the key released event will call this method. |
protected void |
modelChanged(int status,
int index)
Callback to allow subclasses to react to a change in the model. |
void |
paint(Graphics g)
Method to paint the component. |
protected String |
paramString()
Returns a string representing the state of this component. |
void |
pointerDragged(int x,
int y)
If this Component is focused, the pointer dragged event will call this method. |
void |
pointerReleased(int x,
int y)
If this Component is focused, the pointer released event will call this method. |
void |
refreshTheme()
Makes sure the component is up to date with the current style object. |
void |
removeActionListener(ActionListener l)
Allows binding a listener to user selection actions. |
void |
removeSelectionListener(SelectionListener l)
Invoked to indicate no further interest in future selection events. |
void |
scrollRectToVisible(Rectangle rect)
Makes sure the selected index is visible if it is not in the current view rect the list will scroll so it fits within. |
void |
setBorderGap(int borderGap)
Setting the surrounding border gap. |
void |
setFixedSelection(int fixedSelection)
Indicates whether selection is fixable to place in which case all the elements in the list move and selection stays in place. |
void |
setHandlesInput(boolean b)
Prevents key events from being grabbed for focus traversal. |
void |
setInputOnFocus(boolean inputOnFocus)
A list can start handling input implicitly upon gaining focus, this can make for a more intuitive UI when no other focus elements exist or when their use case is infrequent. |
void |
setItemGap(int itemGap)
Set the gap between items. |
void |
setListCellRenderer(ListCellRenderer renderer)
Sets the renderer which is used to draw list elements. |
void |
setModel(ListModel model)
Replaces/sets the model underlying the list. |
void |
setNumericKeyActions(boolean numericKeyActions)
Indicate whether pressing the number keys should trigger an action. |
void |
setOrientation(int orientation)
Sets the list orientation HORIZONTAL or VERTICAL. |
void |
setPaintFocusBehindList(boolean paintFocusBehindList)
This method determines if the animated focus is drawn on top of the List or behind the List when moving. |
void |
setRenderingPrototype(Object renderingPrototype)
The rendering prototype is optionally used in calculating the size of the List and is recommended for performance reasons. |
void |
setSelectedIndex(int index)
Sets the current selected offset in the list, by default this implementation will scroll the list to the selection if the selection is outside of the screen. |
void |
setSelectedIndex(int index,
boolean scrollToSelection)
Sets the current selected offset in the list. |
void |
setSelectedItem(Object item)
Sets the current selected item in the list. |
int |
size()
Returns the number of elements in the list, shorthand for getModel().getSize(). |
Methods inherited from class com.sun.dtv.ui.MatteEnabledComponent |
getMatte, isDoubleBuffered, processEvent, setMatte |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int FIXED_NONE
public static final int FIXED_NONE_CYCLIC
public static final int FIXED_NONE_ONE_ELEMENT_MARGIN_FROM_EDGE
public static final int FIXED_LEAD
public static final int FIXED_TRAIL
public static final int FIXED_CENTER
public static final int VERTICAL
public static final int HORIZONTAL
Constructor Detail |
public List(Vector items)
items
- set of items placed into the list modelpublic List(Object[] items)
items
- set of items placed into the list modelpublic List()
public List(ListModel model)
model
- the model instanceMethod Detail |
protected void initComponent()
Component
initComponent
in class Component
protected void modelChanged(int status, int index)
status
- the type data change; REMOVED, ADDED or CHANGEDindex
- item index in a list modelpublic boolean isScrollableY()
Component
isScrollableY
in class Component
public boolean isScrollableX()
Component
isScrollableX
in class Component
public int size()
public int getSelectedIndex()
setSelectedIndex(int)
,
setSelectedIndex(int, boolean)
public void setSelectedIndex(int index)
index
- the current selected offset in the listgetSelectedIndex()
public void setSelectedIndex(int index, boolean scrollToSelection)
index
- the current selected offset in the listscrollToSelection
- indicates whether scrolling to selection should
occur if the selection is outside of viewgetSelectedIndex()
public Object getSelectedItem()
setSelectedItem(java.lang.Object)
public void setSelectedItem(Object item)
item
- the current selected item in the listgetSelectedItem()
public ListModel getModel()
setModel(com.sun.lwuit.list.ListModel)
public void setModel(ListModel model)
model
- the new model underlying the listgetModel()
public boolean isNumericKeyActions()
public void setNumericKeyActions(boolean numericKeyActions)
numericKeyActions
- true to trigger an action on number keyspublic void setListCellRenderer(ListCellRenderer renderer)
renderer
- cell renderer instancepublic ListCellRenderer getRenderer()
public int getOrientation()
setOrientation(int)
,
HORIZONTAL
,
VERTICAL
public void refreshTheme()
Component
refreshTheme
in class Component
public void setOrientation(int orientation)
orientation
- the list orientation HORIZONTAL or VERTICALgetOrientation()
,
HORIZONTAL
,
VERTICAL
public void scrollRectToVisible(Rectangle rect)
rect
- the rectangle area to scroll topublic void setHandlesInput(boolean b)
Component
setHandlesInput
in class Component
b
- indicates whether key events can be grabbed for
focus traversalprotected void fireClicked()
Component
fireClicked
in class Component
protected boolean isSelectableInteraction()
Component
isSelectableInteraction
in class Component
public void keyReleased(int keyCode)
Component
keyReleased
in class Component
keyCode
- the key code value to indicate a physical key.public void keyPressed(int keyCode)
Component
keyPressed
in class Component
keyCode
- the key code value to indicate a physical key.public void paint(Graphics g)
ViewOnlyComponent
paint
in interface Animated
paint
in class ViewOnlyComponent
g
- the graphics context to use for painting.protected String getUIID()
Component
getUIID
in class Component
public void addSelectionListener(SelectionListener l)
l
- the selection listener to be addedremoveSelectionListener(com.sun.lwuit.events.SelectionListener)
public void removeSelectionListener(SelectionListener l)
l
- the selection listener to be removedaddSelectionListener(com.sun.lwuit.events.SelectionListener)
public void addActionListener(ActionListener l)
l
- the action listener to be addedremoveActionListener(com.sun.lwuit.events.ActionListener)
public void removeActionListener(ActionListener l)
l
- the action listener to be removedaddActionListener(com.sun.lwuit.events.ActionListener)
protected void fireActionEvent()
public void setInputOnFocus(boolean inputOnFocus)
inputOnFocus
- true is a list can start handling input
implicitly upon gaining focuspublic void setPaintFocusBehindList(boolean paintFocusBehindList)
paintFocusBehindList
- true for behind, false for on toppublic int getItemGap()
setItemGap(int)
public void setItemGap(int itemGap)
itemGap
- the gap between itemsgetItemGap()
public void setRenderingPrototype(Object renderingPrototype)
This allows list size calculations to work across look and feels and allows developers to predetermine size for list elements.
e.g. For a list of Strings which you would like to always be 5 characters wide you can use a prototype "XXXXX" which would use the preferred size of the XXXXX String to determine the size of the list element. E.g. for a list of dates you can use new Date(30, 12, 00) etc..
renderingPrototype
- a value that can be passed to the renderer to indicate the preferred
size of a list component.getRenderingPrototype()
public Object getRenderingPrototype()
setRenderingPrototype(java.lang.Object)
public void pointerDragged(int x, int y)
Component
pointerDragged
in class Component
x
- the pointer x coordinatey
- the pointer y coordinatepublic void pointerReleased(int x, int y)
Component
pointerReleased
in class Component
x
- the pointer x coordinatey
- the pointer y coordinateprotected Dimension calcPreferredSize()
Component
calcPreferredSize
in class Component
public void addItem(Object item)
item
- the item to be added to a list modelpublic int getFixedSelection()
setFixedSelection(int)
public void setFixedSelection(int fixedSelection)
fixedSelection
- one of: FIXED_NONE, FIXED_TRAIL, FIXED_LEAD,
FIXED_CENTER, FIXED_NONE_CYCLICgetFixedSelection()
public boolean animate()
Animated
animate
in interface Animated
animate
in class Component
public void setBorderGap(int borderGap)
borderGap
- number of pixels for the gapgetBorderGap()
public int getBorderGap()
setBorderGap(int)
protected String paramString()
Component
null
.
paramString
in class Component
|
Java DTV API 1.0 12-Dec-2008 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |