< Day Day Up > |
Recipe 9.16 Adding Check Marks to Table Items9.16.1 ProblemYou want to enable the user to select individual items in your SWT table widgets. 9.16.2 SolutionWhen 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. 9.16.3 DiscussionAfter 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 marks9.16.4 See AlsoRecipe 9.14 on creating tables; Recipe 9.15 on creating table columns; Recipe 9.17 on enabling and disabling items in a table; Recipe 9.18 on adding images to table items. |
< Day Day Up > |