Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Tree-Instanzen erzeugen folgende Ereignistypen:<br />
SelectionEvent<br />
TreeEvent<br />
8.5 Widgets<br />
Bei einem Doppelklick oder Drücken der Enter-Taste wird<br />
die SelectionListener-Methode widgetDefaultSelected()<br />
aufgerufen.<br />
Wird ein Knoten ausgewählt, so wird die Methode<br />
widgetSelected() aufgerufen.<br />
Wird ein Knoten expandiert, wird die Methode treeExpanded()<br />
der TreeListener-Instanz aufgerufen. Wird ein Knoten<br />
kollabiert, wird treeCollapsed() aufgerufen. Der entsprechende<br />
Knoten wird im Feld item des TreeEvent-Objekts<br />
übergeben.<br />
Die einzelnen Baumknoten werden als TreeItem-Instanzen erzeugt.<br />
Dabei wird dem TreeItem()-Konstruktor entweder der Baum oder ein<br />
anderer Baumknoten als Argument übergeben. Textinhalte für TreeItem-Instanzen<br />
können mit setText() gesetzt werden, wobei mit set-<br />
Font() die Schriftart des Textes gesetzt werden kann. Zusätzlich zum<br />
Text kann mit setImage() jeder TreeItem-Instanz eine Grafik zugeordnet<br />
werden. Wie bei Buttons (Abschnitt 8.5.6) sollten alle Image-Instanzen<br />
wieder freigegeben werden, wenn sie nicht mehr benötigt werden.<br />
Der folgende Code erzeugt einen einfachen Baum mit drei Knoten,<br />
wobei der erste Knoten zwei Kindknoten hat:<br />
final Tree tree = new Tree(composite,<strong>SWT</strong>.SINGLE);<br />
// Oberste Knotenebene erzeugen<br />
final TreeItem node1 = new TreeItem(tree,<strong>SWT</strong>.NULL);<br />
node1.setText("Knoten 1");<br />
final TreeItem node2 = new TreeItem(tree,<strong>SWT</strong>.NULL);<br />
node2.setText("Knoten 2");<br />
final TreeItem node3 = new TreeItem(tree,<strong>SWT</strong>.NULL);<br />
node3.setText("Knoten 3");<br />
// Zweite Knotenebene erzeugen<br />
final TreeItem node11 = new TreeItem(node1,<strong>SWT</strong>.NULL);<br />
node11.setText("Knoten 1.1");<br />
final TreeItem node12 = new TreeItem(node1,<strong>SWT</strong>.NULL);<br />
node12.setText("Knoten 1.2");<br />
// SelectionListener hinzufügen<br />
tree.addSelectionListener(new SelectionAdapter() {<br />
public void widgetDefaultSelected(SelectionEvent e) {<br />
System.out.println("Enter gedrückt: " +<br />
tree.getSelection()[0].getText());<br />
}<br />
public void widgetSelected(SelectionEvent e) {<br />
System.out.println("Baumknoteneintrag ausgewählt: " +<br />
tree.getSelection()[0].getText());<br />
}<br />
177