public class Table extends Composite
The item children that may be added to instances of this class
must be of type TableItem
.
Style VIRTUAL
is used to create a Table
whose
TableItem
s are to be populated by the client on an on-demand basis
instead of up-front. This can provide significant performance improvements for
tables that are very large or for which TableItem
population is
expensive (for example, retrieving values from an external source).
Here is an example of using a Table
with style VIRTUAL
:
final Table table = new Table (parent, SWT.VIRTUAL | SWT.BORDER);
table.setItemCount (1000000);
table.addListener (SWT.SetData, new Listener () {
public void handleEvent (Event event) {
TableItem item = (TableItem) event.item;
int index = table.indexOf (item);
item.setText ("Item " + index);
System.out.println (item.getText ());
}
});
Note that although this class is a subclass of Composite
,
it does not normally make sense to add Control
children to
it, or set a layout on it, unless implementing something like a cell
editor.
Note: Only one of the styles SINGLE, and MULTI may be specified.
IMPORTANT: This class is not intended to be subclassed.
Constructor and Description |
---|
Table(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 |
addSelectionListener(SelectionListener listener)
Adds the listener to the collection of listeners who will
be notified when the user changes the receiver's selection, by sending
it one of the messages defined in the
SelectionListener
interface. |
protected void |
checkSubclass()
Checks that this class can be subclassed.
|
void |
clear(int index)
Clears the item at the given zero-relative index in the receiver.
|
void |
clear(int[] indices)
Clears the items at the given zero-relative indices in the receiver.
|
void |
clear(int start,
int end)
Removes the items from the receiver which are between the given
zero-relative start and end indices (inclusive).
|
void |
clearAll()
Clears all the items in the receiver.
|
void |
deselect(int index)
Deselects the item at the given zero-relative index in the receiver.
|
void |
deselect(int[] indices)
Deselects the items at the given zero-relative indices in the receiver.
|
void |
deselect(int start,
int end)
Deselects the items at the given zero-relative indices in the receiver.
|
void |
deselectAll()
Deselects all selected items in the receiver.
|
TableColumn |
getColumn(int index)
Returns the column at the given, zero-relative index in the
receiver.
|
int |
getColumnCount()
Returns the number of columns contained in the receiver.
|
int[] |
getColumnOrder()
Returns an array of zero-relative integers that map
the creation order of the receiver's items to the
order in which they are currently being displayed.
|
TableColumn[] |
getColumns()
Returns an array of
TableColumn s which are the
columns in the receiver. |
int |
getGridLineWidth()
Returns the width in pixels of a grid line.
|
int |
getHeaderHeight()
Returns the height of the receiver's header
|
boolean |
getHeaderVisible()
Returns
true if the receiver's header is visible,
and false otherwise. |
TableItem |
getItem(int index)
Returns the item at the given, zero-relative index in the
receiver.
|
TableItem |
getItem(Point point)
Returns the item at the given point in the receiver
or null if no such item exists.
|
int |
getItemCount()
Returns the number of items contained in the receiver.
|
int |
getItemHeight()
Returns the height of the area which would be used to
display one of the items in the receiver.
|
TableItem[] |
getItems()
Returns a (possibly empty) array of
TableItem s which
are the items in the receiver. |
boolean |
getLinesVisible()
Returns
true if the receiver's lines are visible,
and false otherwise. |
TableItem[] |
getSelection()
Returns an array of
TableItem s that are currently
selected in the receiver. |
int |
getSelectionCount()
Returns the number of selected items contained in the receiver.
|
int |
getSelectionIndex()
Returns the zero-relative index of the item which is currently
selected in the receiver, or -1 if no item is selected.
|
int[] |
getSelectionIndices()
Returns the zero-relative indices of the items which are currently
selected in the receiver.
|
TableColumn |
getSortColumn()
Returns the column which shows the sort indicator for
the receiver.
|
int |
getSortDirection()
Returns the direction of the sort indicator for the receiver.
|
int |
getTopIndex()
Returns the zero-relative index of the item which is currently
at the top of the receiver.
|
int |
indexOf(TableColumn column)
Searches the receiver's list starting at the first column
(index 0) until a column is found that is equal to the
argument, and returns the index of that column.
|
int |
indexOf(TableItem item)
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.
|
boolean |
isSelected(int index)
Returns
true if the item is selected,
and false otherwise. |
void |
remove(int index)
Removes the item from the receiver at the given
zero-relative index.
|
void |
remove(int[] indices)
Removes the items from the receiver's list at the given
zero-relative indices.
|
void |
remove(int start,
int end)
Removes the items from the receiver which are
between the given zero-relative start and end
indices (inclusive).
|
void |
removeAll()
Removes all of the items from the receiver.
|
void |
removeSelectionListener(SelectionListener listener)
Removes the listener from the collection of listeners who will
be notified when the user changes the receiver's selection.
|
void |
select(int index)
Selects the item at the given zero-relative index in the receiver.
|
void |
select(int[] indices)
Selects the items at the given zero-relative indices in the receiver.
|
void |
select(int start,
int end)
Selects the items in the range specified by the given zero-relative
indices in the receiver.
|
void |
selectAll()
Selects all of the items in the receiver.
|
void |
setColumnOrder(int[] order)
Sets the order that the items in the receiver should
be displayed in to the given argument which is described
in terms of the zero-relative ordering of when the items
were added.
|
void |
setFont(Font font)
Sets the font that the receiver will use to paint textual information
to the font specified by the argument, or to the default font for that
kind of control if the argument is null.
|
void |
setHeaderVisible(boolean show)
Marks the receiver's header as visible if the argument is
true ,
and marks it invisible otherwise. |
void |
setItemCount(int count)
Sets the number of items contained in the receiver.
|
void |
setLinesVisible(boolean show)
Marks the receiver's lines as visible if the argument is
true ,
and marks it invisible otherwise. |
void |
setRedraw(boolean redraw)
If the argument is
false , causes subsequent drawing
operations in the receiver to be ignored. |
void |
setSelection(int index)
Selects the item at the given zero-relative index in the receiver.
|
void |
setSelection(int[] indices)
Selects the items at the given zero-relative indices in the receiver.
|
void |
setSelection(int start,
int end)
Selects the items in the range specified by the given zero-relative
indices in the receiver.
|
void |
setSelection(TableItem item)
Sets the receiver's selection to the given item.
|
void |
setSelection(TableItem[] items)
Sets the receiver's selection to be the given array of items.
|
void |
setSortColumn(TableColumn column)
Sets the column used by the sort indicator for the receiver.
|
void |
setSortDirection(int direction)
Sets the direction of the sort indicator for the receiver.
|
void |
setTopIndex(int index)
Sets the zero-relative index of the item which is currently
at the top of the receiver.
|
void |
showColumn(TableColumn column)
Shows the column.
|
void |
showItem(TableItem item)
Shows the item.
|
void |
showSelection()
Shows the selection.
|
changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
public Table(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 constructIllegalArgumentException
- SWTException
- SWT.SINGLE
,
SWT.MULTI
,
SWT.CHECK
,
SWT.FULL_SELECTION
,
SWT.HIDE_SELECTION
,
SWT.VIRTUAL
,
SWT.NO_SCROLL
,
Widget.checkSubclass()
,
Widget.getStyle()
public void addSelectionListener(SelectionListener listener)
SelectionListener
interface.
When widgetSelected
is called, the item field of the event object is valid.
If the receiver has the SWT.CHECK
style and the check selection changes,
the event object detail field contains the value SWT.CHECK
.
widgetDefaultSelected
is typically called when an item is double-clicked.
The item field of the event object is valid for default selection, but the detail field is not used.
listener
- the listener which should be notified when the user changes the receiver's selectionIllegalArgumentException
- SWTException
- SelectionListener
,
removeSelectionListener(org.eclipse.swt.events.SelectionListener)
,
SelectionEvent
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 clear(int index)
SWT.VIRTUAL
style,
these attributes are requested again as needed.index
- the index of the item to clearIllegalArgumentException
- SWTException
- SWT.VIRTUAL
,
SWT.SetData
public void clear(int start, int end)
SWT.VIRTUAL
style,
these attributes are requested again as needed.start
- the start index of the item to clearend
- the end index of the item to clearIllegalArgumentException
- SWTException
- SWT.VIRTUAL
,
SWT.SetData
public void clear(int[] indices)
SWT.VIRTUAL
style,
these attributes are requested again as needed.indices
- the array of indices of the itemsIllegalArgumentException
- SWTException
- SWT.VIRTUAL
,
SWT.SetData
public void clearAll()
SWT.VIRTUAL
style, these
attributes are requested again as needed.SWTException
- SWT.VIRTUAL
,
SWT.SetData
public void deselect(int[] indices)
indices
- the array of indices for the items to deselectIllegalArgumentException
- SWTException
- public void deselect(int index)
index
- the index of the item to deselectSWTException
- public void deselect(int start, int end)
start
- the start index of the items to deselectend
- the end index of the items to deselectSWTException
- public void deselectAll()
SWTException
- public TableColumn getColumn(int index)
TableColumn
s were created by the programmer,
this method will throw ERROR_INVALID_RANGE
despite
the fact that a single column of data may be visible in the table.
This occurs when the programmer uses the table like a list, adding
items but never creating a column.index
- the index of the column to returnIllegalArgumentException
- SWTException
- getColumnOrder()
,
setColumnOrder(int[])
,
TableColumn.getMoveable()
,
TableColumn.setMoveable(boolean)
,
SWT.Move
public int getColumnCount()
TableColumn
s were created by the programmer,
this value is zero, despite the fact that visually, one column
of items may be visible. This occurs when the programmer uses
the table like a list, adding items but never creating a column.SWTException
- public int[] getColumnOrder()
Specifically, the indices of the returned array represent the current visual order of the items, and the contents of the array represent the creation order of the items.
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
- setColumnOrder(int[])
,
TableColumn.getMoveable()
,
TableColumn.setMoveable(boolean)
,
SWT.Move
public TableColumn[] getColumns()
TableColumn
s which are the
columns in the receiver. Columns are returned in the order
that they were created. If no TableColumn
s were
created by the programmer, the array is empty, despite the fact
that visually, one column of items may be visible. This occurs
when the programmer uses the table like a list, adding items but
never creating a column.
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
- getColumnOrder()
,
setColumnOrder(int[])
,
TableColumn.getMoveable()
,
TableColumn.setMoveable(boolean)
,
SWT.Move
public int getGridLineWidth()
SWTException
- public int getHeaderHeight()
SWTException
- public boolean getHeaderVisible()
true
if the receiver's header 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 TableItem getItem(int index)
index
- the index of the item to returnIllegalArgumentException
- SWTException
- public TableItem getItem(Point point)
The item that is returned represents an item that could be selected by the user. For example, if selection only occurs in items in the first column, then null is returned if the point is outside of the item. Note that the SWT.FULL_SELECTION style hint, which specifies the selection policy, determines the extent of the selection.
point
- the point used to locate the itemIllegalArgumentException
- SWTException
- public int getItemCount()
SWTException
- public int getItemHeight()
SWTException
- public TableItem[] getItems()
TableItem
s which
are the items in the receiver.
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 boolean getLinesVisible()
true
if the receiver's lines are visible,
and false
otherwise. Note that some platforms draw
grid lines while others may draw alternating row colors.
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 TableItem[] getSelection()
TableItem
s that are currently
selected in the receiver. The order of the items is unspecified.
An empty array indicates that no items are selected.
Note: This is not the actual structure used by the receiver to maintain its selection, so modifying the array will not affect the receiver.
SWTException
- public int getSelectionCount()
SWTException
- public int getSelectionIndex()
SWTException
- public int[] getSelectionIndices()
Note: This is not the actual structure used by the receiver to maintain its selection, so modifying the array will not affect the receiver.
SWTException
- public TableColumn getSortColumn()
SWTException
- setSortColumn(TableColumn)
public int getSortDirection()
UP
, DOWN
or NONE
.SWTException
- setSortDirection(int)
public int getTopIndex()
SWTException
- public int indexOf(TableColumn column)
column
- the search columnIllegalArgumentException
- SWTException
- public int indexOf(TableItem item)
item
- the search itemIllegalArgumentException
- SWTException
- public boolean isSelected(int index)
true
if the item is selected,
and false
otherwise. Indices out of
range are ignored.index
- the index of the itemSWTException
- public void remove(int[] indices)
indices
- the array of indices of the itemsIllegalArgumentException
- SWTException
- public void remove(int index)
index
- the index for the itemIllegalArgumentException
- SWTException
- public void remove(int start, int end)
start
- the start of the rangeend
- the end of the rangeIllegalArgumentException
- SWTException
- public void removeAll()
SWTException
- public void removeSelectionListener(SelectionListener listener)
listener
- the listener which should no longer be notifiedIllegalArgumentException
- SWTException
- SelectionListener
,
addSelectionListener(SelectionListener)
public void select(int[] indices)
If the item at a given index is not selected, it is selected. If the item at a given index was already selected, it remains selected. Indices that are out of range and duplicate indices are ignored. If the receiver is single-select and multiple indices are specified, then all indices are ignored.
indices
- the array of indices for the items to selectIllegalArgumentException
- SWTException
- setSelection(int[])
public void select(int index)
index
- the index of the item to selectSWTException
- public void select(int start, int end)
If an item in the given range is not selected, it is selected. If an item in the given range was already selected, it remains selected. Indices that are out of range are ignored and no items will be selected if start is greater than end. If the receiver is single-select and there is more than one item in the given range, then all indices are ignored.
start
- the start of the rangeend
- the end of the rangeSWTException
- setSelection(int,int)
public void selectAll()
If the receiver is single-select, do nothing.
SWTException
- public void setColumnOrder(int[] order)
order
- the new order to display the itemsSWTException
- IllegalArgumentException
- getColumnOrder()
,
TableColumn.getMoveable()
,
TableColumn.setMoveable(boolean)
,
SWT.Move
public void setFont(Font font)
Control
public void setHeaderVisible(boolean show)
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.
show
- the new visibility stateSWTException
- public void setItemCount(int count)
count
- the number of itemsSWTException
- public void setLinesVisible(boolean show)
true
,
and marks it invisible otherwise. Note that some platforms draw grid lines
while others may draw alternating row colors.
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.
show
- the new visibility stateSWTException
- public void setRedraw(boolean redraw)
Control
false
, causes subsequent drawing
operations in the receiver to be ignored. No drawing of any kind
can occur in the receiver until the flag is set to true.
Graphics operations that occurred while the flag was
false
are lost. When the flag is set to true
,
the entire widget is marked as needing to be redrawn. Nested calls
to this method are stacked.
Note: This operation is a hint and may not be supported on some platforms or for some widgets.
setRedraw
in class Control
redraw
- the new redraw stateControl.redraw(int, int, int, int, boolean)
,
Control.update()
public void setSelection(int[] indices)
Indices that are out of range and duplicate indices are ignored. If the receiver is single-select and multiple indices are specified, then all indices are ignored.
indices
- the indices of the items to selectIllegalArgumentException
- SWTException
- deselectAll()
,
select(int[])
public void setSelection(TableItem item)
If the item is not in the receiver, then it is ignored.
item
- the item to selectIllegalArgumentException
- SWTException
- public void setSelection(TableItem[] items)
Items that are not in the receiver are ignored. If the receiver is single-select and multiple items are specified, then all items are ignored.
items
- the array of itemsIllegalArgumentException
- SWTException
- deselectAll()
,
select(int[])
,
setSelection(int[])
public void setSelection(int index)
index
- the index of the item to selectSWTException
- deselectAll()
,
select(int)
public void setSelection(int start, int end)
Indices that are out of range are ignored and no items will be selected if start is greater than end. If the receiver is single-select and there is more than one item in the given range, then all indices are ignored.
start
- the start index of the items to selectend
- the end index of the items to selectSWTException
- deselectAll()
,
select(int,int)
public void setSortColumn(TableColumn column)
column
- the column used by the sort indicator or null
IllegalArgumentException
- SWTException
- public void setSortDirection(int direction)
UP
, DOWN
or NONE
.direction
- the direction of the sort indicatorSWTException
- public void setTopIndex(int index)
index
- the index of the top itemSWTException
- public void showColumn(TableColumn column)
column
- the column to be shownIllegalArgumentException
- SWTException
- public void showItem(TableItem item)
item
- the item to be shownIllegalArgumentException
- SWTException
- showSelection()
public void showSelection()
SWTException
- showItem(TableItem)
Copyright © 2017. All Rights Reserved.