Du kan udvide SWT ved at implementere dit eget tilpassede element. SWT selv indeholder en pakke, org.eclipse.swt.custom, som indeholder tilpassede kontroller, der ikke findes i kernesættet med SWT-kontroller, men som er nødvendige for at kunne implementere platformsarbejdsbænken.
Kontrol |
Formål |
---|---|
CBanner | CBanner bruges på arbejdsbænken til at angive layout af værktøjslinjeområdet og værktøjslinjen til perspektivskift. |
CCombo | Ligner Combo (kombinationsboks), men kan tilpasses lodret i størrelsen, så den kan være i tabelceller. |
CLabel | Ligner Label (etiket), men understøtter forkortelse af tekst ved hjælp af prikker. Understøtter også en gradueringseffekt for baggrundsfarven som vist i den aktive arbejdsbænksoversigt. Understøtter ikke ombrydning. |
CTabFolder | Ligner TabFolder (skillebladsfolder), men understøtter yderligere konfiguration af det visuelle udseende af skilleblade (top eller bund) og kanter. |
CTabItem | Brugergrænsefladeobjekt, der kan vælges, og som svarer til et skilleblad for en side i en CTabFolder. |
SashForm | Sammensat kontrol, der placerer sine underordnede i et række- eller kolonnearrangement og bruger en Sash (vinduesramme) til at adskille dem, så brugeren kan tilpasse deres størrelse. |
ScrolledComposite | Sammensat kontrol, der blader i indholdet og eventuelt strækker indholdet, så det udfylder den tilgængelige plads. |
StyledText | Kontrol, der kan redigeres, og som giver brugeren mulighed for at skrive tekst. Områder med tekst inden for kontrollen kan have andre farver og fonte. |
ViewForm | ViewForm bruges på arbejdsbænken til at placere og tilpasse størrelsen på en oversigts etiket/værktøjslinje/lokale menulinje. |
Når du har bestemt, at du skal bruge et tilpasset element, og ud har besluttet, hvilke platforme der skal understøttes, kan du overveje flere implementeringsteknikker for elementet. Disse teknikker kan blandes og afstemmes, afhængigt af hvad der findes på den underliggende styresystemplatform.
Hvis dit program kræver et indbygget element, der ikke findes i SWT, skal du implementere det fra dets oprindelige placering. Det kan være et platformselement, et element fra tredjepart eller et andet element i et delt bibliotek på platformen. Et komplet eksempel på en implementering af et indbygget tilpasset element findes i Opret dine egne elementer vha. SWT.
Elementer kan kombineres til elementer, der er mere avancerede. En Combo (kombinationsboks) kan f.eks. implementeres vha. et tekstindtastningselement kombineret med en knap og en liste. Hvis du vil implementere et kombineret element, skal du oprette en underklasse af Composite og administrere de underordnede internt.
Du kan se et enkelt eksempel i CCombo.
I nogle tilfælde har du ikke en indbygget kode eller eksisterende elementer, som kan hjælpe dig med at implementere det nye element. Det betyder, at du skal tegne elementet selv ved hjælp af maleaktivitetsbehandleren. Selvom denne teknik kan blive temmelig kompliceret, har det den fordel, at du kan fremstille en fuldstændigt flytbar implementering.
Tilpassede tegnede kontroller implementeres ved at oprette en underklasse af Canvas eller Composite. Opret underklasser af Canvas, hvis elementet ikke skal indeholde nogen underordnede kontroller.
Den interne implementering af et tilpasset tegnet element involverer normalt disse hovedopgaver:
Mange af de elementer, der er implementeret i org.eclipse.swt.custom, benytter denne fremgangsmåde. Du kan se et enkelt eksempel i CLabel.
Yderligere oplysninger om tilpassede elementer findes i Opret dine egne elementer vha. SWT.