20.08.2012 Aufrufe

8 Das SWT

8 Das SWT

8 Das SWT

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

}

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!