Az SWT saját egyéni felületi elemek megvalósításával kiterjeszthető. Az SWT egy egyéni vezérlőelemeket tartalmazó csomagot - org.eclipse.swt.custom - biztosít, amely nincsenek benne a SWT alap halmazában, de szükségesek a platform-munkaterület megvalósításához.
Vezérlőelem |
Cél |
---|---|
CBanner | A CBannert a munkaterület használja az eszköztárterület és a perspektívakapcsoló-eszköztár elrendezéséhez. |
CCombo | A Combohoz hasonló, de függőlegesen méretezhető, amely a táblázatcellákhoz igazítást teszi lehetővé. |
CLabel | A Labelhez hasonló, de támogatja a szöveg kihagyásos rövidítését. A háttérszín színátmenet effektusát is támogatja, ahogy az aktív munkaterületen látható. Nem támogatja a tördelést. |
CTabFolder | A TabFolderhez hasonló, de támogatja a tabulátorok (felső és alsó) valamint a szegélyek vizuális megjelenítésének további konfigurációját. |
CTabItem | A CTabFolderben lévő oldalak címkéinek megfelelő kiválasztható felhasználói felület objektum. |
SashForm | Összetett vezérlőelem, amely a leszármazottakat oszlopba vagy sorba rendezi, és a keretet használja az elválasztásukhoz, így a felhasználó átméretezheti őket. |
ScrolledComposite | Összetett vezérlőelem, amely görgeti a tartalmat és esetlegesen kiterjeszti, hogy kitöltse a rendelkezésre álló területet. |
StyledText | Szerkeszthető vezérlőelem, melynek segítségével a felhasználó szöveget gépelhet be. A vezérlőelemen belüli szövegtartományok különböző színekkel és betűstílusokkal rendelkezhetnek. |
ViewForm | A ViewFormot a munkaterület használja a nézet címkéjénak/eszköztárának/menüsorának pozícionálására. |
Ha eldöntötte, hogy egy egyéni felületi elemre van szüksége, és azt is, hogy mely platformot kell támogatni, akkor számos megvalósítási technika közül választhat. Ezek a technikák vegyíthetők és megfeleltethetők attól függően, hogy mi áll rendelkezésre az alapul szolgáló operációs rendszer platformon.
Ha az alkalmazásnak egy natív vezérlőelemre van szüksége, amelyet az SWT nem biztosít, akkor natív módon meg kell valósítania. Ez lehet egy platform felületi elem, egy harmadik féltől származó felületi elem vagy egy tetszőleges egyéb felületi elem a platform megosztott könyvtárában. A natív egyéni felületi elem-megvalósítások teljes példáját a Saját felületi elemek létrehozása SWT segítségével rész tartalmazza.
A felületi elemek kifinomultabb felületi elemek kialakítása érdekében egyesíthetők. A Combo például megvalósítható egy szövegbeviteli felületi elemmel, valamint egy gombbal és egy legördülő listával. Egyesített felületi elem megvalósításához létrehozhatja a Composite alosztályát és a leszármazottat kezelheti belsőleg.
A CCombo egy egyszerű példát tartalmaz.
Bizonyos esetekben nincs szükség natív kódra vagy meglévő felületi elemre az új felületi elem megvalósításához. Ez azt jelenti, hogy a Paint eseményhez a felületi elemet sajátkezűleg kell kirajzolni a kezelőben. Ez az eljárás nagyon bonyolult lehet, de meg van az az előnye, hogy teljesen hordozható megvalósítást állít elő.
Az egyénileg kirajzolt vezérlőelemek a Canvas vagy Composite alosztályaival kerülnek megvalósításra. Ha a felületi elem nem tartalmaz leszármazott vezérlőelemeket, akkor a Canvas elemhez kell alosztályt létrehozni.
Az egyénileg rajzolt felületi elem belső megvalósítása általában az alábbi főbb feladatokra épül:
Az org.eclipse.swt.custom elemben megvalósított felületi elemek nagy része ezt a megközelítést használja. A CLabel egy egy egyszerű példát tartalmaz.
Az egyedi felületi elemekkel kapcsolatos további információkat a Saját felületi elem létrehozása SWT segítségével rész tartalmaz.