Angepasste Fensterobjekte

Sie können auch ein SWT erweitern, indem Sie ein eigenes, angepasstes Fensterobjekt implementieren. SWT selbst stellt ein Paket namens org.eclipse.swt.custom für angepasste Steuerelemente zur Verfügung, die nicht zur Kerngruppe der SWT-Steuerelemente gehören, aber zur Implementierung der Plattform-Workbench benötigt werden.

Steuerelement
Zweck
CBanner CBanner wird in der Workbench verwendet, um das Layout des Symbolleistenbereichs und der Symbolleiste für den Perspektivenwechsel zu bestimmen.
CCombo Ähnelt dem Steuerelement 'Combo'. Die Größe lässt sich jedoch vertikal verändern, um sich an Tabellenzellen anzupassen.
CLabel Ähnelt dem Steuerelement 'Label', unterstützt jedoch das Abschneiden von Text mit Auslassungen. Unterstützt außerdem einen Verlaufseffekt für die Hintergrundfarbe (wird beispielsweise in der aktiven Workbench-Sicht verwendet). Umbruch wird nicht unterstützt.
CTabFolder Ähnelt dem Steuerelement "TabFolder", unterstützt jedoch eine zusätzliche Konfiguration der optischen Darstellung von Registerkarten (oben oder unten) und Rahmen.
CTabItem Ein auswählbares Benutzerschnittstellenobjekt, das einer Registerkarte für eine Seite in einem Ordner mit Registerkarten (CTabFolder) entspricht.
SashForm Ein zusammengesetztes Steuerelement, das seine untergeordneten Objekte in Zeilen- oder Spaltenanordnung darstellt und sie durch ein Größensteuerfeld trennt, dessen Größe der Benutzer ändern kann.
ScrolledComposite Ein zusammengesetztes Steuerelement, das seinen Inhalt verschiebt und optional vergrößert und dann den verfügbaren Platz ausfüllt.
StyledText Ein Steuerelement, das der Benutzer durch die Eingabe von Text bearbeiten kann. Textbereiche innerhalb des Steuerelements können unterschiedliche Farben und Schriftarten annehmen.
ViewForm ViewForm wird in der Workbench verwendet, um die Bezeichnung, Symbolleiste und lokale Menüleiste einer Sicht zu positionieren und deren Größen einzustellen.

Ein angepasstes Fensterobjekt implementieren

Wenn Sie feststellen, dass Sie ein angepasstes Fensterobjekt benötigen, und festgelegt haben, welche Plattformen unterstützt werden müssen, können Sie unterschiedliche Implementierungstechniken für das Fensterobjekt verwenden. Diese Techniken können Sie mischen und darauf abstimmen, welche Elemente in der zu Grunde liegenden Betriebssystemplattform verfügbar sind.

Native Implementierung

Wenn Ihre Anwendung ein natives Fensterobjekt benötigt, das durch SWT nicht zur Verfügung gestellt wird, müssen Sie es auf nativem Weg erstellen. Dies kann ein Plattformfensterobjekt, ein Fensterobjekt eines Drittherstellers oder ein beliebiges anderes Fensterobjekt in einer gemeinsam benutzten Bibliothek der Plattform sein. Ein vollständiges Beispiel für die Implementierung eines nativen angepassten Fensterobjekts finden Sie unter Eigene Fensterobjekte anhand von SWT erstellen..

Bestehende Fensterobjekte kombinieren

Fensterobjekte können kombiniert werden, um komplexere Fensterobjekte zu bilden. Ein 'Combo' kann beispielsweise unter Verwendung eines Texteintragsfensterobjekts mit einer Schaltfläche und einer Dropdown-Liste implementiert werden. Um ein kombiniertes Fensterobjekt zu implementieren, erstellen Sie eine Unterklasse von Composite und verwalten die untergeordneten Elemente intern.

Ein einfaches Beispiel finden Sie unter CCombo.

Angepasste Zeichnungselemente implementieren

In manchen Fällen sind weder nativer Code noch Fensterobjekte vorhanden, die Sie bei der Implementierung des neuen Fensterobjekts nutzen könnten. Dies hat zur Folge, dass Sie das Fensterobjekt selbst über die Steuerroutine für das Ereignis 'Paint' zeichnen müssen. Obwohl diese Methode recht kompliziert sein kann, hat sie den Vorteil, eine vollständig portierbare Implementierung zu erzeugen.

Angepasste gezeichnete Steuerelemente werden durch die Aufnahme der Klasse Canvas oder Composite als Unterklasse implementiert. Die Klasse Canvas sollte als Unterklasse aufgenommen werden, wenn das Fensterobjekt keine untergeordneten Steuerelemente enthalten soll.

Die interne Implementierung eines angepassten gezeichneten Fensterobjekts umfasst normalerweise die folgenden Haupttasks:

Viele Fensterobjekte, die in org.eclipse.swt.custom implementiert sind, verwenden diese Methode. Ein einfaches Beispiel finden Sie unter CLabel.

Weitere Informationen zu angepassten Fensterobjekten finden Sie unter Creating your own widgets with SWT.