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
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access