|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Combo
public class Combo
Instances of this class are controls that allow the user
to choose an item from a list of items, or optionally
enter a new value by typing it into an editable text
field. Often, 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
Field Summary | |
---|---|
static int |
LIMIT
the operating system limit for the number of characters that the text field in an instance of this class can hold |
Fields inherited from class org.eclipse.swt.widgets.Control |
---|
enableTraverse, internal_parent |
Fields inherited from class org.eclipse.swt.widgets.Widget |
---|
internal_handle, internal_style |
Constructor Summary | |
---|---|
Combo(Composite parent,
int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance. |
Method Summary | |
---|---|
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. |
boolean |
allowTraverseByArrowKey(Event event)
|
protected void |
checkSubclass()
Checks that this class can be subclassed. |
void |
clearSelection()
Sets the selection in the receiver's text field to an empty selection starting just before the first character. |
Rectangle |
computeTrim(int x,
int y,
int width,
int height)
Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area. |
void |
copy()
Copies the selected text. |
void |
cut()
Cuts the selected text. |
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. |
Control[] |
getChildren()
Returns a (possibly empty) array containing the receiver's children. |
Rectangle |
getClientArea()
Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings"). |
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. |
Layout |
getLayout()
Returns layout which is associated with the receiver, or null if one has not been set. |
int |
getOrientation()
Returns the orientation of the receiver. |
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. |
Control[] |
getTabList()
Gets the (possibly empty) tabbing order for the control. |
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. |
protected void |
internal_createHandle(int index)
|
void |
layout()
If the receiver has a layout, asks the layout to lay out (that is, set the size and location of) the receiver's children. |
void |
layout(boolean changed)
If the receiver has a layout, asks the layout to lay out (that is, set the size and location of) the receiver's children. |
void |
paste()
Pastes text from clipboard. |
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. |
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 index)
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[] newItems)
Sets the receiver's list to be the given array of items. |
void |
setLayout(Layout layout)
Sets the layout which is associated with the receiver to be the argument which may be null. |
void |
setOrientation(int orientation)
Sets the orientation of the receiver, which must be one of the constants SWT.LEFT_TO_RIGHT or SWT.RIGHT_TO_LEFT . |
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 |
setTabList(Control[] tabList)
Sets the tabbing order for the specified controls to match the order that they occur in the argument list. |
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. |
protected boolean |
traverse(Event event)
|
Methods inherited from class org.eclipse.swt.widgets.Composite |
---|
computeSize, internal_getNativeStyle, internal_removeChild, setBounds, setFocus, setSize |
Methods inherited from class org.eclipse.swt.widgets.Scrollable |
---|
getHorizontalBar, getVerticalBar |
Methods inherited from class org.eclipse.swt.widgets.Widget |
---|
addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getStyle, internal_sendEvent, isDisposed, isListening, notifyListeners, removeDisposeListener, removeInternalFilter, removeListener, removeListener, sendEvent, setData, setData, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int LIMIT
Constructor Detail |
---|
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 construct
java.lang.IllegalArgumentException
- SWTException
- SWT.DROP_DOWN
,
SWT.READ_ONLY
,
Widget.checkSubclass()
,
Widget.getStyle()
Method Detail |
---|
protected void internal_createHandle(int index)
internal_createHandle
in class Composite
protected void checkSubclass()
Widget
The SWT class library is intended to be subclassed
only at specific, controlled points (most notably,
Composite
and Canvas
when
implementing new widgets). This method enforces this
rule unless it is overridden.
IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.
The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.
checkSubclass
in class Composite
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 item
java.lang.IllegalArgumentException
- SWTException
- add(String)
public void add(java.lang.String string)
string
- the new item
java.lang.IllegalArgumentException
- SWTException
- add(String,int)
public void addModifyListener(ModifyListener listener)
ModifyListener
interface.
listener
- the listener which should be notified
java.lang.IllegalArgumentException
- SWTException
- ModifyListener
,
removeModifyListener(org.eclipse.swt.events.ModifyListener)
public void addVerifyListener(VerifyListener listener)
VerifyListener
interface.
listener
- the listener which should be notified
java.lang.IllegalArgumentException
- SWTException
- VerifyListener
,
removeVerifyListener(org.eclipse.swt.events.VerifyListener)
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 notified
java.lang.IllegalArgumentException
- SWTException
- SelectionListener
,
removeSelectionListener(org.eclipse.swt.events.SelectionListener)
,
SelectionEvent
public void clearSelection()
Note: To clear the selected items in the receiver's list,
use deselectAll()
.
SWTException
- deselectAll()
public void copy()
The current selection is copied to the clipboard.
SWTException
- public void cut()
The current selection is first copied to the clipboard and then deleted from the widget.
SWTException
- public void deselect(int index)
index
- the index of the item to deselect
SWTException
- public void deselectAll()
Note: To clear the selection in the receiver's text field,
use clearSelection()
.
SWTException
- clearSelection()
public java.lang.String getItem(int index)
index
- the index of the item to return
java.lang.IllegalArgumentException
- SWTException
- public int getItemCount()
SWTException
- public int getItemHeight()
SWTException
- public int getOrientation()
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 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 int getSelectionIndex()
SWTException
- public java.lang.String getText()
SWTException
- public int getTextHeight()
SWTException
- public int getTextLimit()
setTextLimit()
, it will be the constant
Combo.LIMIT
.
SWTException
- LIMIT
public int indexOf(java.lang.String string)
string
- the search item
java.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 search
java.lang.IllegalArgumentException
- SWTException
- public void paste()
The selected text is deleted from the widget and new text inserted from the clipboard.
SWTException
- public void remove(int start, int end)
start
- the start of the rangeend
- the end of the range
java.lang.IllegalArgumentException
- SWTException
- public void remove(int index)
index
- the index for the item
java.lang.IllegalArgumentException
- SWTException
- public void remove(java.lang.String string)
string
- the item to remove
java.lang.IllegalArgumentException
- SWTException
- public void removeAll()
SWTException
- public void removeModifyListener(ModifyListener listener)
listener
- the listener which should no longer be notified
java.lang.IllegalArgumentException
- SWTException
- ModifyListener
,
addModifyListener(org.eclipse.swt.events.ModifyListener)
public void removeVerifyListener(VerifyListener listener)
listener
- the listener which should no longer be notified
java.lang.IllegalArgumentException
- SWTException
- VerifyListener
,
addVerifyListener(org.eclipse.swt.events.VerifyListener)
public void removeSelectionListener(SelectionListener listener)
listener
- the listener which should no longer be notified
java.lang.IllegalArgumentException
- SWTException
- SelectionListener
,
addSelectionListener(org.eclipse.swt.events.SelectionListener)
public void select(int index)
index
- the index of the item to select
SWTException
- public void setItem(int index, java.lang.String string)
index
- the index for the itemstring
- the new text for the item
java.lang.IllegalArgumentException
- SWTException
- public void setItems(java.lang.String[] newItems)
items
- the array of items
java.lang.IllegalArgumentException
- SWTException
- public void setOrientation(int orientation)
SWT.LEFT_TO_RIGHT
or SWT.RIGHT_TO_LEFT
.
orientation
- new orientation style
SWTException
- public void setSelection(Point selection)
selection
- a point representing the new selection start and end
java.lang.IllegalArgumentException
- 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 text
java.lang.IllegalArgumentException
- SWTException
- 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 limit
java.lang.IllegalArgumentException
- SWTException
- public int getVisibleItemCount()
Note: This operation is a hint and is not supported on platforms that do not have this concept.
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 visible
SWTException
- public Rectangle computeTrim(int x, int y, int width, int height)
Scrollable
In other words, it returns a rectangle such that, if the receiver's bounds were set to that rectangle, the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings") would be the rectangle described by the arguments (relative to the receiver's parent).
computeTrim
in class Scrollable
x
- the desired x coordinate of the client areay
- the desired y coordinate of the client areawidth
- the desired width of the client areaheight
- the desired height of the client area
Scrollable.getClientArea()
public Rectangle getClientArea()
Scrollable
getClientArea
in class Scrollable
Scrollable.computeTrim(int, int, int, int)
public Control[] getChildren()
Composite
Note: This is not the actual structure used by the receiver to maintain its list of children, so modifying the array will not affect the receiver.
getChildren
in class Composite
Control.moveAbove(org.eclipse.swt.widgets.Control)
,
Control.moveBelow(org.eclipse.swt.widgets.Control)
public Layout getLayout()
Composite
getLayout
in class Composite
public Control[] getTabList()
Composite
getTabList
in class Composite
Composite.setTabList(org.eclipse.swt.widgets.Control[])
public void layout()
Composite
This is equivalent to calling layout(true)
.
layout
in class Composite
public void layout(boolean changed)
Composite
true
the layout must not rely
on any information it has cached about the immediate children. If it
is false
the layout may (potentially) optimize the
work it is doing by assuming that none of the receiver's
children has changed state since the last layout.
If the receiver does not have a layout, do nothing.
If a child is resized as a result of a call to layout, the
resize event will invoke the layout of the child. The layout
will cascade down through all child widgets in the receiver's widget
tree until a child is encountered that does not resize. Note that
a layout due to a resize will not flush any cached information
(same as layout(false)
).
layout
in class Composite
changed
- true
if the layout must flush its caches, and false
otherwisepublic void setLayout(Layout layout)
Composite
setLayout
in class Composite
layout
- the receiver's new layout or nullpublic void setTabList(Control[] tabList)
Composite
setTabList
in class Composite
tabList
- the ordered list of controls representing the tab order or nullpublic boolean allowTraverseByArrowKey(Event event)
allowTraverseByArrowKey
in class Composite
protected boolean traverse(Event event)
traverse
in class Composite
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |