public class Combo extends Composite
Combo
s are used in the same place
where a single selection List
widget could
be used but space is limited. A Combo
takes
less space than a List
widget and shows
similar information.
Note: Since Combo
s can contain both a list
and an editable text field, it is possible to confuse methods
which access one versus the other (compare for example,
clearSelection()
and deselectAll()
).
The API documentation is careful to indicate either "the
receiver's list" or the "the receiver's text field" to
distinguish between the two cases.
Note that although this class is a subclass of Composite
,
it does not make sense to add children to it, or set a layout on it.
IMPORTANT: This class is not intended to be subclassed.
List
Modifier and Type | Field and Description |
---|---|
static int |
LIMIT
The maximum number of characters that can be entered
into a text widget.
|
Constructor and Description |
---|
Combo(Composite parent,
int style)
Constructs a new instance of this class given its parent
and a style value describing its behavior and appearance.
|
Modifier and Type | Method and Description |
---|---|
void |
add(java.lang.String string)
Adds the argument to the end of the receiver's list.
|
void |
add(java.lang.String string,
int index)
Adds the argument to the receiver's list at the given
zero-relative index.
|
void |
addModifyListener(ModifyListener listener)
Adds the listener to the collection of listeners who will
be notified when the receiver's text is modified, by sending
it one of the messages defined in the
ModifyListener
interface. |
void |
addSelectionListener(SelectionListener listener)
Adds the listener to the collection of listeners who will
be notified when the receiver's selection changes, by sending
it one of the messages defined in the
SelectionListener
interface. |
void |
addVerifyListener(VerifyListener listener)
Adds the listener to the collection of listeners who will
be notified when the receiver's text is verified, by sending
it one of the messages defined in the
VerifyListener
interface. |
void |
clearSelection()
Sets the selection in the receiver's text field to an empty
selection starting just before the first character.
|
Point |
computeSize(int wHint,
int hHint,
boolean changed)
Returns the preferred size of the receiver.
|
void |
deselect(int index)
Deselects the item at the given zero-relative index in the receiver's
list.
|
void |
deselectAll()
Deselects all selected items in the receiver's list.
|
<T> T |
getAdapter(java.lang.Class<T> adapter)
Implementation of the
Adaptable interface. |
java.lang.String |
getItem(int index)
Returns the item at the given, zero-relative index in the
receiver's list.
|
int |
getItemCount()
Returns the number of items contained in the receiver's list.
|
int |
getItemHeight()
Returns the height of the area which would be used to
display one of the items in the receiver's list.
|
java.lang.String[] |
getItems()
Returns a (possibly empty) array of
String s which are
the items in the receiver's list. |
boolean |
getListVisible()
Returns
true if the receiver's list is visible,
and false otherwise. |
Point |
getSelection()
Returns a
Point whose x coordinate is the
character position representing the start of the selection
in the receiver's text field, and whose y coordinate is the
character position representing the end of the selection. |
int |
getSelectionIndex()
Returns the zero-relative index of the item which is currently
selected in the receiver's list, or -1 if no item is selected.
|
java.lang.String |
getText()
Returns a string containing a copy of the contents of the
receiver's text field, or an empty string if there are no
contents.
|
int |
getTextHeight()
Returns the height of the receivers's text field.
|
int |
getTextLimit()
Returns the maximum number of characters that the receiver's
text field is capable of holding.
|
int |
getVisibleItemCount()
Gets the number of items that are visible in the drop
down portion of the receiver's list.
|
int |
indexOf(java.lang.String string)
Searches the receiver's list starting at the first item
(index 0) until an item is found that is equal to the
argument, and returns the index of that item.
|
int |
indexOf(java.lang.String string,
int start)
Searches the receiver's list starting at the given,
zero-relative index until an item is found that is equal
to the argument, and returns the index of that item.
|
void |
remove(int index)
Removes the item from the receiver's list at the given
zero-relative index.
|
void |
remove(int start,
int end)
Removes the items from the receiver's list which are
between the given zero-relative start and end
indices (inclusive).
|
void |
remove(java.lang.String string)
Searches the receiver's list starting at the first item
until an item is found that is equal to the argument,
and removes that item from the list.
|
void |
removeAll()
Removes all of the items from the receiver's list and clear the
contents of receiver's text field.
|
void |
removeModifyListener(ModifyListener listener)
Removes the listener from the collection of listeners who will
be notified when the receiver's text is modified.
|
void |
removeSelectionListener(SelectionListener listener)
Removes the listener from the collection of listeners who will
be notified when the receiver's selection changes.
|
void |
removeVerifyListener(VerifyListener listener)
Removes the listener from the collection of listeners who will
be notified when the control is verified.
|
void |
select(int selectionIndex)
Selects the item at the given zero-relative index in the receiver's
list.
|
void |
setItem(int index,
java.lang.String string)
Sets the text of the item in the receiver's list at the given
zero-relative index to the string argument.
|
void |
setItems(java.lang.String... items)
Sets the receiver's list to be the given array of items.
|
void |
setListVisible(boolean visible)
Marks the receiver's list as visible if the argument is
true ,
and marks it invisible otherwise. |
void |
setSelection(Point selection)
Sets the selection in the receiver's text field to the
range specified by the argument whose x coordinate is the
start of the selection and whose y coordinate is the end
of the selection.
|
void |
setText(java.lang.String string)
Sets the contents of the receiver's text field to the given string.
|
void |
setTextLimit(int limit)
Sets the maximum number of characters that the receiver's
text field is capable of holding to be the argument.
|
void |
setVisibleItemCount(int count)
Sets the number of items that are visible in the drop
down portion of the receiver's list.
|
changed, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addTouchListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getShell, getSize, getToolTipText, getTouchEnabled, getVisible, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCursor, setData, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setSize, setSize, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, update
addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, toString
public static final int LIMIT
public Combo(Composite parent, int style)
The style value is either one of the style constants defined in
class SWT
which is applicable to instances of this
class, or must be built by bitwise OR'ing together
(that is, using the int
"|" operator) two or more
of those SWT
style constants. The class description
lists the style constants that are applicable to the class.
Style bits are also inherited from superclasses.
parent
- a composite control which will be the parent of the new instance (cannot be null)style
- the style of control to constructjava.lang.IllegalArgumentException
- SWTException
- SWT.DROP_DOWN
,
SWT.READ_ONLY
,
SWT.SIMPLE
,
Widget.checkSubclass()
,
Widget.getStyle()
public int getSelectionIndex()
SWTException
- public void select(int selectionIndex)
selectionIndex
- the index of the item to selectSWTException
- public void deselect(int index)
index
- the index of the item to deselectSWTException
- public void deselectAll()
Note: To clear the selection in the receiver's text field,
use clearSelection()
.
SWTException
- clearSelection()
public void setSelection(Point selection)
selection
- a point representing the new selection start and endjava.lang.IllegalArgumentException
- SWTException
- public Point getSelection()
Point
whose x coordinate is the
character position representing the start of the selection
in the receiver's text field, and whose y coordinate is the
character position representing the end of the selection.
An "empty" selection is indicated by the x and y coordinates
having the same value.
Indexing is zero based. The range of a selection is from 0..N where N is the number of characters in the widget.
SWTException
- public void clearSelection()
Note: To clear the selected items in the receiver's list,
use deselectAll()
.
SWTException
- deselectAll()
public void add(java.lang.String string)
string
- the new itemjava.lang.IllegalArgumentException
- SWTException
- add(String,int)
public void add(java.lang.String string, int index)
Note: To add an item at the end of the list, use the
result of calling getItemCount()
as the
index or use add(String)
.
string
- the new itemindex
- the index for the itemjava.lang.IllegalArgumentException
- SWTException
- add(String)
public void remove(int index)
index
- the index for the itemjava.lang.IllegalArgumentException
- SWTException
- public void remove(int start, int end)
start
- the start of the rangeend
- the end of the rangejava.lang.IllegalArgumentException
- SWTException
- public void remove(java.lang.String string)
string
- the item to removejava.lang.IllegalArgumentException
- SWTException
- public void removeAll()
SWTException
- public void setItem(int index, java.lang.String string)
index
- the index for the itemstring
- the new text for the itemjava.lang.IllegalArgumentException
- SWTException
- public void setItems(java.lang.String... items)
items
- the array of itemsjava.lang.IllegalArgumentException
- SWTException
- public java.lang.String getItem(int index)
index
- the index of the item to returnjava.lang.IllegalArgumentException
- SWTException
- public java.lang.String[] getItems()
String
s which are
the items in the receiver's list.
Note: This is not the actual structure used by the receiver to maintain its list of items, so modifying the array will not affect the receiver.
SWTException
- public int getItemCount()
SWTException
- public int getItemHeight()
SWTException
- public void setVisibleItemCount(int count)
Note: This operation is a hint and is not supported on platforms that do not have this concept.
count
- the new number of items to be visibleSWTException
- public int getVisibleItemCount()
Note: This operation is a hint and is not supported on platforms that do not have this concept.
SWTException
- public void setListVisible(boolean visible)
true
,
and marks it invisible otherwise.
If one of the receiver's ancestors is not visible or some other condition makes the receiver not visible, marking it visible may not actually cause it to be displayed.
visible
- the new visibility stateSWTException
- public boolean getListVisible()
true
if the receiver's list is visible,
and false
otherwise.
If one of the receiver's ancestors is not visible or some other condition makes the receiver not visible, this method may still indicate that it is considered visible even though it may not actually be showing.
SWTException
- public int indexOf(java.lang.String string)
string
- the search itemjava.lang.IllegalArgumentException
- SWTException
- public int indexOf(java.lang.String string, int start)
string
- the search itemstart
- the zero-relative index at which to begin the searchjava.lang.IllegalArgumentException
- SWTException
- public java.lang.String getText()
SWTException
- public void setText(java.lang.String string)
Note: The text field in a Combo
is typically only capable of
displaying a single line of text. Thus, setting the text to a string
containing line breaks or other special characters will probably cause it
to display incorrectly.
string
- the new textjava.lang.IllegalArgumentException
- SWTException
- public int getTextLimit()
setTextLimit()
, it will be the constant
Combo.LIMIT
.SWTException
- LIMIT
public void setTextLimit(int limit)
To reset this value to the default, use setTextLimit(Combo.LIMIT)
.
Specifying a limit value larger than Combo.LIMIT
sets the
receiver's limit to Combo.LIMIT
.
limit
- new text limitjava.lang.IllegalArgumentException
- SWTException
- LIMIT
public int getTextHeight()
SWTException
- public Point computeSize(int wHint, int hHint, boolean changed)
Control
The preferred size of a control is the size that it would
best be displayed at. The width hint and height hint arguments
allow the caller to ask a control questions such as "Given a particular
width, how high does the control need to be to show all of the contents?"
To indicate that the caller does not wish to constrain a particular
dimension, the constant SWT.DEFAULT
is passed for the hint.
If the changed flag is true
, it indicates that the receiver's
contents have changed, therefore any caches that a layout manager
containing the control may have been keeping need to be flushed. When the
control is resized, the changed flag will be false
, so layout
manager caches can be retained.
computeSize
in class Composite
wHint
- the width hint (can be SWT.DEFAULT
)hHint
- the height hint (can be SWT.DEFAULT
)changed
- true
if the control's contents have changed, and false
otherwiseLayout
,
Control.getBorderWidth()
,
Control.getBounds()
,
Control.getSize()
,
Control.pack(boolean)
,
"computeTrim, getClientArea for controls that implement them"public void addSelectionListener(SelectionListener listener)
SelectionListener
interface.
widgetSelected
is called when the combo's list selection changes.
widgetDefaultSelected
is typically called when ENTER is pressed the combo's text area.
listener
- the listener which should be notifiedjava.lang.IllegalArgumentException
- SWTException
- SelectionListener
,
removeSelectionListener(org.eclipse.swt.events.SelectionListener)
,
SelectionEvent
public void removeSelectionListener(SelectionListener listener)
listener
- the listener which should no longer be notifiedjava.lang.IllegalArgumentException
- SWTException
- SelectionListener
,
addSelectionListener(org.eclipse.swt.events.SelectionListener)
public void addModifyListener(ModifyListener listener)
ModifyListener
interface.listener
- the listener which should be notifiedjava.lang.IllegalArgumentException
- SWTException
- ModifyListener
,
removeModifyListener(org.eclipse.swt.events.ModifyListener)
public void removeModifyListener(ModifyListener listener)
listener
- the listener which should no longer be notifiedjava.lang.IllegalArgumentException
- SWTException
- ModifyListener
,
addModifyListener(org.eclipse.swt.events.ModifyListener)
public void addVerifyListener(VerifyListener listener)
VerifyListener
interface.listener
- the listener which should be notifiedjava.lang.IllegalArgumentException
- SWTException
- VerifyListener
,
removeVerifyListener(org.eclipse.swt.events.VerifyListener)
public void removeVerifyListener(VerifyListener listener)
listener
- the listener which should no longer be notifiedjava.lang.IllegalArgumentException
- SWTException
- VerifyListener
,
addVerifyListener(org.eclipse.swt.events.VerifyListener)
public <T> T getAdapter(java.lang.Class<T> adapter)
Widget
Adaptable
interface.
IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.
getAdapter
in interface Adaptable
getAdapter
in class Composite
adapter
- the lookup classnull
if
there is no adapter associated with the given class.
Copyright (c) EclipseSource and others 2002, 2016.
All rights reserved. This program and the accompanying materials
are made available under the terms of the
Eclipse Public License v1.0