jcontrol.ui.wombat
Class ComboBox

java.lang.Object
  extended by jcontrol.ui.wombat.Component
      extended by jcontrol.ui.wombat.AbstractFocusComponent
          extended by jcontrol.ui.wombat.AbstractScrolledComponent
              extended by jcontrol.ui.wombat.ComboBox
All Implemented Interfaces:
EventListener, ActionProducer, KeyListener, TouchListener, IFocusable

public class ComboBox
extends AbstractScrolledComponent

The class ComboBox implements a choice user interface object. Use the select-, up- and down-keys on the keyboard or the touch screen to open the combo box and to select an item.

When an item is selected, an ActionEvent of type ActionEvent.ITEM_SELECTED is fired.

(c) Copyright 2005-2007 DOMOLOGIC GmbH


Field Summary
 
Fields inherited from class jcontrol.ui.wombat.AbstractScrolledComponent
m_fontHeight, m_scrollBarSize, m_scrollValue
 
Fields inherited from class jcontrol.ui.wombat.AbstractFocusComponent
BORDER_WIDTH, listener
 
Fields inherited from class jcontrol.ui.wombat.Component
backgroundColor, COLOR_COMPONENT_BACKGROUND, COLOR_COMPONENT_BACKGROUND_HIGHLIGHTED, COLOR_COMPONENT_DARK_SHADOW, COLOR_COMPONENT_FOREGROUND, COLOR_COMPONENT_FOREGROUND_INACTIVE, COLOR_COMPONENT_HIGHLIGHT_SHADOW, COLOR_COMPONENT_LIGHT_SHADOW, COLOR_COMPONENT_LIST_BACKGROUND, COLOR_COMPONENT_NORMAL_SHADOW, COLOR_COMPONENT_SELECTION_TEXT, COLOR_COMPONENT_SELECTION_TEXT_BACKGROUND, COLOR_COMPONENT_SELECTION_TEXT_BACKGROUND_INACTIVE, COLOR_COMPONENT_SELECTION_TEXT_INACTIVE, eventQueue, font, foregroundColor, frame, height, parent, RESERVED1, RESERVED2, RESERVED3, RESERVED4, RESERVED5, RESERVED6, state, STATE_ABORT_UPDATE, STATE_ANIMATED, STATE_BG_COLOR_SET, STATE_COVERED, STATE_DIRTY_MASK, STATE_DIRTY_PAINTALL, STATE_DIRTY_REPAINT, STATE_DIRTY_UPDATE, STATE_DISABLED, STATE_DISPOSED, STATE_FG_COLOR_SET, STATE_FOCUS, STATE_HEIGHT_FIXED, STATE_NO_REDRAW, STATE_REVALIDATE, STATE_SELECTED, STATE_SIZE_FIXED, STATE_UPDATED, STATE_VISIBLE, STATE_WIDTH_FIXED, transparentColor, width, x, y
 
Fields inherited from interface jcontrol.ui.wombat.IFocusable
TRANSFER_FOCUS_BACKWARD, TRANSFER_FOCUS_FORWARD
 
Fields inherited from interface jcontrol.ui.wombat.event.TouchListener
RESULT_ACCEPTED, RESULT_EXECUTED, RESULT_NONE
 
Constructor Summary
ComboBox(int x, int y, int width)
          Constructs a new empty ComboBox at the given x- and y-coordinates.
ComboBox(String[] items, int x, int y, int width)
          Constructs a new ComboBox with a list of items at the given x- and y-coordinates with the specified width and height.
 
Method Summary
 void add(String item)
          Adds an item to this ComboBox.
 int getSelectedIndex()
          Returns the currently selected index.
 String getSelectedItem()
          Returns the currently selected item
 KeyEvent onKeyEvent(KeyEvent e)
          Handle key events.
 int onTouchEvent(TouchEvent e)
          If a TouchEvent accurs, this method is called.
 void paint(XGraphics g)
          Paint this ComboBox.
 boolean remove(String item)
          Removes the first occurrence of item from the ComboBox.
 void setItems(String[] items)
          Sets/resets the list of items in this ComboBox.
 String setSelection(int index)
          Selects the item at the given zero-relative index in the receiver's list.
 
Methods inherited from class jcontrol.ui.wombat.AbstractScrolledComponent
drawScrollBar
 
Methods inherited from class jcontrol.ui.wombat.AbstractFocusComponent
clearCorners, drawBevelRect, drawButton, drawDottedRect, drawFocusRect, getActionListener, onActionEvent, requestFocus, setActionListener, setEnabled, setVisible
 
Methods inherited from class jcontrol.ui.wombat.Component
drawDisabledImage, getFrame, isEnabled, isVisible, isVisibleInternal, redrawInternalAndParent, repaint, repaintAll, safeExec, setBackgroundColor, setBackgroundColorInternal, setBounds, setDirty, setFont, setForegroundColor, setForegroundColorInternal, setParametersInternal, setRedraw, setTransparentColor, unsafeExec, update
 
Methods inherited from class java.lang.Object
clone, equals, getClass, notifyAll, toString, wait
 

Constructor Detail

ComboBox

public ComboBox(int x,
                int y,
                int width)
Constructs a new empty ComboBox at the given x- and y-coordinates. The preferred width and height is internally computed by taking the contained items dimensions.

Parameters:
x - The x-coordinate of this ComboBox.
y - The y-coordinate of this ComboBox.
width - The preferred width of this ComboBox. The ComboBox is enlarged if the text width exceeds this value.

ComboBox

public ComboBox(String[] items,
                int x,
                int y,
                int width)
Constructs a new ComboBox with a list of items at the given x- and y-coordinates with the specified width and height.

Parameters:
items - An array of text-items.
x - The x-coordinate of this ComboBox.
y - The y-coordinate of this ComboBox.
width - The width of this ComboBox.
Method Detail

setItems

public void setItems(String[] items)
Sets/resets the list of items in this ComboBox.

Parameters:
items - the new item list.

add

public void add(String item)
Adds an item to this ComboBox.

Parameters:
item - The item to add to the ComboBox.

remove

public boolean remove(String item)
Removes the first occurrence of item from the ComboBox.

Parameters:
item - The item to remove from the ComboBox.
Returns:
Success of remove operation.

paint

public void paint(XGraphics g)
Paint this ComboBox. Don't call this method directly.

Overrides:
paint in class Component
Parameters:
g - the application's graphics object.

onKeyEvent

public KeyEvent onKeyEvent(KeyEvent e)
Handle key events. On several user actions, an ActionEvent is fired.

Specified by:
onKeyEvent in interface KeyListener
Specified by:
onKeyEvent in class AbstractFocusComponent
Parameters:
e - the event that contains information about the key.
Returns:
null if the KeyEvent has been consumed by the KeyListener,
or the the specified KeyEvent if it should be passed on to the next KeyListener.

onTouchEvent

public int onTouchEvent(TouchEvent e)
If a TouchEvent accurs, this method is called.

Specified by:
onTouchEvent in interface TouchListener
Specified by:
onTouchEvent in class AbstractFocusComponent
Parameters:
e - the TouchEvent.
Returns:
RESULT_ACCEPTED if the TouchEvent has been consumed by the TouchListener,
RESULT_EXECUTED if the TouchEvent has been consumed by the TouchListener and some important action has been performed, e.g. an action event has been invoked,
RESULT_NONE if the TouchEvent should be passed on to the next TouchListener.

setSelection

public String setSelection(int index)
Selects the item at the given zero-relative index in the receiver's list. If the item at the index was already selected, it remains selected. Indices that are out of range are ignored.

Parameters:
index - the index of the item to select
Returns:
the selected item, or null if the index is out of range or the ComboBox was open and therefore, the item could not be selected.

getSelectedItem

public String getSelectedItem()
Returns the currently selected item

Returns:
the selected item

getSelectedIndex

public int getSelectedIndex()
Returns the currently selected index.

Returns:
the selected index