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