Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
178<br />
8 <strong>Das</strong> <strong>SWT</strong><br />
});<br />
// TreeListener hinzufügen<br />
tree.addTreeListener(new TreeAdapter() {<br />
public void treeCollapsed(TreeEvent e) {<br />
System.out.println("Knoten kollabiert: " +<br />
((TreeItem) e.item).getText());<br />
}<br />
public void treeExpanded(TreeEvent e) {<br />
System.out.println("Knoten expandiert: " +<br />
((TreeItem) e.item).getText());<br />
}<br />
});<br />
Bei größeren Bäumen wird man in der Regel darauf verzichten, den<br />
Baum gleich komplett aufzubauen. Stattdessen bietet sich hier an,<br />
Baumknoten erst dann vollständig aufzubauen, wenn sie sichtbar werden,<br />
also wenn der entsprechende Elternknoten expandiert wird.<br />
8.5.10 Verschiebbare Trennleisten<br />
Die Klasse Sash ist für verschiebbare Trennleisten verantwortlich.<br />
Diese Trennleisten können benutzt werden, um ein Composite in verschiedene<br />
Bereiche aufzuteilen. Die Trennleiste kann vom Benutzer<br />
verschoben werden, so dass sich die Größe der Teilbereiche verändert.<br />
<strong>Das</strong> verlangt einigen Aufwand an Ereignisbehandlung, da der Sash<br />
nicht selbst eine Repositionierung der Nachbarelemente vornimmt.<br />
Sash-Instanzen erzeugen Ereignisse vom Typ SelectEvent. Die Ausrichtung<br />
einer Trennleiste kann mit den Stilkonstanten <strong>SWT</strong>.HORIZONTAL<br />
und <strong>SWT</strong>.VERTICAL bestimmt werden (Abb. 8–9).<br />
Anstelle dieser manuellen Methode kann auch die Klasse SashForm<br />
verwendet werden, um durch verschiebbare Rahmen getrennte Komponenten<br />
untereinander zu koordinieren (siehe Abschnitt 8.5.13).<br />
8.5.11 Pultordner<br />
Die Klasse TabFolder implementiert einen Pultordner, also eine Einheit,<br />
bei der Seiten über das Anklicken von Reitern ausgewählt werden<br />
können. Jede TabFolder-Instanz ist ein Composite, das ein oder mehrere<br />
TabItem-Instanzen enthalten kann. Jedes TabItem-Objekt entsprícht<br />
einem Reiter, die Beschriftung des Reiters kann mit der Methode set-<br />
Text() gesetzt werden. Mit setControl() kann jedem TabItem-Objekt<br />
eine Control-Instanz (z.B. ein Composite) zugeordnet werden. Diese<br />
wird zur Anzeige gebracht, wenn das entsprechende TabItem-Objekt