JFace-käyttöliittymäkehys

Työympäristö määrittää laajennuspisteet lisäosille, jotka lisäävät käyttöliittymän toimintoja ympäristöön. Monet näistä laajennuspisteistä, varsinkin ohjattujen toimintojen laajennuspisteet, toteutetaan käyttämällä org.eclipse.jface.*-pakettien luokkia. Miten tilanne eroaa tavallisesta?

JFace on käyttöliittymätyökalupaketti, jonka apuluokkien (helper) avulla voit kehittää käyttöliittymän tuoteominaisuuksia, joiden toteutus voi olla yksitoikkoista. JFace toimii widget-objektitason yläpuolella. Se sisältää luokkia, joiden avulla voit käsitellä yleisiä käyttöliittymän ohjelmointitehtäviä:

JFace vapauttaa käyttäjän keskittymään lisäosan toteutukseen sen sijaan, että olisi tarpeen pohtia widget-järjestelmän toimintaa tai ratkaista ongelmia, jotka ovat yhteisiä lähes kaikille käyttöliittymäsovelluksille.

JFace ja työympäristö

Mihin JFace loppuu ja mistä työympäristö alkaa? Joskus tilanne ei ole kovin selvä. Yleensä JFace-ohjelmointirajapinnat (org.eclipse.jface.*-paketeista) ovat riippumattomia työympäristön laajennuspisteistä ja ohjelmointirajapinnoista. On kuviteltavissa, että JFace-ohjelma voitaisiin kirjoittaa käyttämättä lainkaan työympäristön koodia.

Työympäristö käyttää JFace-työkalupakettia, mutta yrittää minimoida riippuvuudet silloin, kun se on mahdollista. Esimerkiksi työympäristön osan malli (IWorkbenchPart) on suunniteltu riippumattomaksi JFace-työkalupaketista. Aiemmin havaittiin, että näkymät ja muokkausohjelmat voi toteuttaa SWT-widget-objektien avulla suoraan käyttämättä JFace-luokkia. Työympäristö yrittää pysyä neutraalina suhteessa JFace-työkalupakettiin aina kun mahdollista, jotta ohjelmoijat voivat käyttää niitä JFace-työkalupaketin osia, jotka ovat heille hyödyllisiä. Käytännössä työympäristö käyttää JFace-työkalupakettia suuressa osassa toteutusta ja viittauksia JFace-lajeihin ohjelmointirajapintojen määrityksissä. (EsimerkiksiJFace-rajapinnat lajeille IMenuManager, IToolBarManager ja IStatusLineManager näkyvät lajeina työympäristön IActionBar-metodeissa.)

Kun käytät JFace-ohjelmointirajapintoja, on hyvä muistaa taustasäikeitä koskevat säännöt. Lisätietoja on ohjeaiheessa Työympäristö ja säikeet.

JFace ja SWT

Raja SWT:n ja JFace-työkalupaketin välillä on selvempi. SWT ei ole riippuvainen mistään JFace-koodista tai ympäristön koodista. Monet SWT-esimerkeistä osoittavat, kuinka voit koota itsenäisen sovelluksen.

JFace on suunniteltu tarjoamaan yhteisen sovelluskäyttöliittymän toiminnot SWT-kirjaston päällä. JFace ei yritä"piilottaa" SWT:tä tai korvata sen toimintoja. Se tarjoaa käyttöön luokkia ja rajapintoja, jotka käsittelevät monia niistä yleisistä tehtävistä, jotka liittyvät dynaamisen käyttöliittymän ohjelmointiin SWT:n avulla.

JFace-työkalupaketin ja SWT:n suhde näkyy selvimmin tarkastelemalla katseluohjelmia ja niiden suhdetta SWT-widget-objekteihin.