9.16. Adding Check Marks to Table Items
Problem
You want to enable the user to select individual items in your SWT table widgets.
Solution
When you create your table, use the SWT.CHECK
style. To determine if an item has been checked, you can use the
getChecked
method, which returns
true
if the item is checked.
Discussion
After you’ve added check marks to a table, you can
determine which items have been checked with the
table’s getSelection
method,
which returns an array of the selected TableItem
objects; with getSelectionIndex
, which returns the
index of the currently selected item; or with
getSelectionIndices
, which returns an
int
array of the indices of the selected items in
a multiple-selection table. To see if an individual table item is
checked, call its getChecked
method or use
setChecked
to explicitly check it.
For example, here’s how to create a table with check boxes:
Table table = new Table(shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
You can determine if a newly clicked item has been checked by looking
at the detail member of the Event
object passed to
us in the handleEvent
method:
table.addListener(SWT.Selection, new Listener( ) { public void handleEvent(Event event) { if(event.detail == SWT.CHECK){ text.setText("You checked " + event.item); } else { text.setText("You selected " + event.item); } } });
The results appear in Figure 9-11. As you can see, the application indicates which table item you’ve checked.
Figure 9-11. A table with check marks
See Also
Get Eclipse Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.