A JFace UI keretrendszer

Láttuk, hogy a munkaterület kiterjesztési pontokat ad meg a bedolgozókhoz UI funkció platformhoz biztosításához. A kiterjesztési pontok nagy része - különösen a varázsló kiterjesztések - az org.eclipse.jface.* csomagokban lévő osztályok segítségével kerülnek megvalósításra. Mi a különbség?

A JFace egy UI eszköz, amely súgóosztályokat biztosít UI funkciók létrehozásához, amelyek megvalósítása fárasztó lehet. A JFace a nyers felületi elem rendszer szint felett működik. Osztályokat biztosít az általános UI programozási feladatok kezeléséhez:

A JFace szoftvernek használata esetén nem kell az adott bedolgozó funkciójának megvalósítására koncentrálni, hanem foglalkozhat az alapul szolgáló felületi elem-alrendszerrel vagy a problémák megoldásával, amelyek majdnem minden UI alkalmazáson általánosak.

JFace és a munkaterület

Hol végződik a JFace és hol kezdődik a munkaterület? A vonalak nem mindig egyértelműek. Általánosságban a JFace alkalmazás programozási felületek (a org.eclipse.jface.* csomagtól kezdődően) függetlenek az munkaterület kiterjesztési pontoktól és alkalmazás programozási felületektől. Elképzelhető, hogy JFace program munkaterületkód nélkül is írható.

A munkaterület használja a JFace szoftvert, de ahol lehet, megpróbálja lecsökkenteni a függőségeket. A munkaterület részmodellt (IWorkbenchPart) például a JFace szoftvertől függetlenre tervezték. Korábban már láttuk, hogy ezek a nézetek és szerkesztők SWT felületi elemek segítségével közvetlenül megvalósíthatók JFace osztályok használata nélkül. Ahol lehet, a munkaterület megpróbál "JFace semleges" maradni, így a programozók használhatják a JFace azon részeit, amelyeket hasznosnak találnak. Gyakorlatban a munkaterület JFace szoftvert használ a megvalósítás nagy részéhez, és JFace-típusok hivatkozások állnak rendelkezésre az API definíciókban. (Az IMenuManager, IToolBarManager, és IStatusLineManager JFace felületek úgy jelennek meg, mint a típusok a munkaterület IActionBar metódusokon.)

A JFace API használatakor érdemes szem előtt tartani a háttérben futó szálak kezelésének szabályait. További információkért tekintse meg az A munkaterület és szálak című részt.

JFace és SWT

Az SWT és JFace közötti vonalak sokkal tisztábbak. Az SWT egyáltalán nem függ a JFace-től és a platformkódtól. Számos SWT példa mutatja be, hogy hogyan lehet önálló alkalmazást létrehozni.

A JFace-t úgy alakították ki, hogy általános alkalmazás UI funkciót biztosítson az SWT könyvtáron felül. A JFace nem próbálja meg "elrejteni" az SWT-t vagy lecserélni a funkcióit. Osztályokat és felületeket biztosít, amelyek SWT segítségével kezelik az általános feladatok - amelyek társítva vannak a dinamikus UI programozásához - nagy részét.

A JFace és az SWT közötti kapcsolatot legjobban a megjelenítők és SWT felületi elemeinek kapcsolatával demonstrálható.