Nézetek és szerkesztők (másnéven részek) számára egyszerű API biztosításával a Komponens keretrendszer engedélyezi a részek egymásba ágyazását és összeállítását. A Komponens keretrendszer API lehetővé teszi a részek példányosítását tetszőleges SWT összetételekben, növeli a teljesítményt és a szivárgásvédelmet egy rész használatával, amely a globális objektumok elérése helyett a helyi felületekkel kommunikál az oldalon, lehetővé teszi egy helyről elérhető felületek kiterjesztését, valamint keretrendszert biztosít az ügyfelek számára a nézetekhez és szerkesztőkhöz elérhető API használatával saját újra felhasználható komponensek létrehozásához. A Komponens keretrendszer lehetővé teszi atomi műveletek összeállítását és megsemmisítését, valamint a meglévő részek számára új helyfelületek használatát is.
Ez az egyszerű példa egy nézetet mutat be, amely beállítja a
nevét, címét, előugró leírását és képét, valamint bemutatja, hogy hogyan lehet
egy szerkesztőt vagy nézetet megírni a komponens keretrendszer használatával.
Megjeleníti a komponens API-t használó forrást is. Az új részek a
konstruktorukban argumentumokat fogadhatnak, nem kell megvalósítaniuk konkrét
felületet és nem kell konkrét alaposztályból származniuk.
/**
* Példa nézet, amely beállítja a nevét, előugró leírását, képét és tartalomleírását. A nézet
* A bedolgozójában lévő egyéni képet használ.
*
* A 3.1 változat óta
*/
public class NameViewNew {
/**
* A komponens konstruktora. Ne hívja meg közvetlenül.
*/
public NameViewNew(Composite parent, INameable name, IPluginImages
images) {
name.setName("Name View (New)");
name.setContentDescription("tartalomleírás");
name.setTooltip("Ez egy előugró leírás");
name.setImage(images.getImage("icons/sample.gif"));
// Példa nézettartalom létrehozása
Label content = new Label(parent, SWT.NONE);
content.setText("Ide jön a nézettartalom");
}
}
Ne feledje, hogy a nézet konstruktorához adott argumentumok már ismerik a
környezetüket. Például az IPluginImages felület számára nem kell megmondani,
hogy melyik bedolgozóhoz tartozik a nézet. Ehhez hasonlóan a felületek
szivárgásállóak. Ebben a példában a nézet képének lefoglalása és a lefoglalás
feloldása automatikusan kerül végrehajtásra az INameable megvalósítás által,
így magának a nézetnek nem kell megvalósítania az ezt szabályzó metódust.
Fontos megjegyezni, hogy a nézetek és a szerkesztők API felülete pontosan
ugyanaz. Más szavakkal, ha a NameViewNew osztály org.eclipse.ui.editors
kiterjesztési ponttal bejegyzése mellett döntünk, akkor ez szerkesztőként is
használható minden további módosítás nélkül.