Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
174<br />
8 <strong>Das</strong> <strong>SWT</strong><br />
Listen<br />
final TableItem item1 = new TableItem(table,0);<br />
item1.setText(new String[] {"a","b","c"});<br />
final TableItem item2 = new TableItem(table,0);<br />
item2.setText(new String[] {"d","c","e"});<br />
// SelectionListener hinzufügen<br />
table.addSelectionListener(new SelectionAdapter() {<br />
public void widgetDefaultSelected(SelectionEvent e) {<br />
processSelection("Enter gedrückt: ");<br />
}<br />
public void widgetSelected(SelectionEvent e) {<br />
processSelection("Tabellenelement ausgewählt: ");<br />
}<br />
private void processSelection(String message) {<br />
// Ausgewählte Tabellenzeilen holen<br />
TableItem[] selection = table.getSelection();<br />
// Wegen <strong>SWT</strong>.SINGLE ist nur eine Zeile ausgewählt<br />
TableItem selectedRow = selection[0];<br />
// Die einzelnen Tabellenelemente für Ausgabe aufbereiten<br />
String s = selectedRow.getText(0)+", "+<br />
selectedRow.getText(1)+", "+selectedRow.getText(2);<br />
System.out.println(message + s);<br />
}<br />
});<br />
Will man lediglich eine einspaltige Liste von String-Elementen zur<br />
Selektion anbieten, so gibt es mit der Klasse List eine einfachere Möglichkeit.<br />
List-Instanzen erzeugen die gleichen Ereignisse wie Table-<br />
Instanzen, jedoch wird die Methode widgetDefaultSelected() nur bei<br />
einem Doppelklick aufgerufen. Mit den <strong>SWT</strong>-Konstanten <strong>SWT</strong>.SINGLE<br />
und <strong>SWT</strong>.MULTI kann bestimmt werden, ob nur eine oder aber mehrere<br />
Listeneinträge selektiert werden können.<br />
Im folgenden Code bauen wir eine Liste mit drei Einträgen auf.<br />
Wir erlauben und verarbeiten die Selektion mehrerer Einträge:<br />
final List list = new List(composite,<strong>SWT</strong>.MULTI);<br />
list.add("Element1");<br />
list.add("Element2");<br />
list.add("Element3");<br />
list.addSelectionListener(new SelectionAdapter() {<br />
public void widgetDefaultSelected(SelectionEvent e) {<br />
processSelection("Enter gedrückt: ");<br />
}<br />
public void widgetSelected(SelectionEvent e) {<br />
processSelection("Listeneintrag ausgewählt: ");<br />
}