JFace
A JFace-t egy Eclipse projekt által definiált grafikus felhasználói felületek (GUI) eszközkészlet, amely segéd osztályokat biztosít a felhasználói felületek bonyolultabb komponensei fejlesztéséhez.[1] A JFace réteg az SWT réteg felett helyezkedik el, és olyan feladatokat lát el, amelyek minden felületi elemre azonosak. A JFace tulajdonképpen a Modell-nézet-vezérlő elvet valósítja meg a Standard Widget Toolkitben (SWT).
A JFace célja, hogy megkönnyítse az SWT használatát, és nem az, hogy elrejtse az SWT réteget a programozó elől. A JFace függ az SWT-től, de az SWT nem függ a JFace-től. Maga az Eclipse workbench is csak részben támaszkodik JFace-re, vannak helyek, ahol mélyebbre nyúltak a fejlesztők, és közvetlenül az SWT szolgáltatásait használták ki.
A JFace főbb komponensei a következők:
- Viewer osztályok: Lista-, táblázat- és faszerkezetű adatok megjelenítésére, rendezésére és szűrésére lehet használni a
ListViewer
, aTableViewer
és aTreeViewer
osztályokat. Szöveges információ megjelenítésére használható aTextViewer
osztály. - Betűtípusok, színek és képek kezelésére használható az
org.eclipse.jface.resource
csomag. - Dialógusablakok és varázslók létrehozását segítik az
org.eclipse.jface.dialogs
és azorg.eclipse.jface.wizard
csomagok. - Az akciók, melyek több részből tevődnek össze. Minden akcióhoz tartozik egy XML deklaráció, egy
IAction
objektum, melyet az Eclipse UI példányosít, és egyIActionDelegate
objektum, mely az akció tényleges implementációját tartalmazza. - Ablakok létrehozására és kezelésére használható az
org.eclipse.jface.window
csomag. - Időigényes műveleteknél használható jól az
org.eclipse.jface.operation
csomag, hogy a művelet alatt a felület válaszképes legyen, a felhasználó pedig visszajelzést kapjon a folyamat előrehaladásáról.
Példa
[szerkesztés]A lenti példa egy Hello World program, amely szemlélteti a JFace használatát.
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
public class HelloWorld extends ApplicationWindow {
public static void main(String[] args) {
new HelloWorld().run();
}
public HelloWorld() {
super(null);
}
public void run() {
setBlockOnOpen(true);
open();
Display.getCurrent().dispose();
}
protected Control createContents(Composite parent) {
Label label = new Label(parent, SWT.CENTER);
label.setText("Hello, World");
return label;
}
}
Jegyzetek
[szerkesztés]Irodalomjegyzék
[szerkesztés]- Scarpino, Matthew; Holder, Stephen & Ng, Stanford et al. (November 28, 2004), SWT/JFace in Action: GUI Design with Eclipse 3.0 (1st ed.), Manning Publications, pp. 496, ISBN 1932394273
- Li Guojie, Jackwind (February 11, 2005), Professional Java Native Interfaces with SWT/JFace (1st ed.), Wrox Press, pp. 528, ISBN 0470094591, <http://www.wrox.com/WileyCDA/WroxTitle/Professional-Java-Native-Interfaces-with-SWT-JFace.productCd-0470094591.html> Archiválva 2014. december 26-i dátummal a Wayback Machine-ben
- Harris, Robert & Warner, Rob (June 21, 2004), The Definitive Guide to SWT and JFACE (1st ed.), Apress, pp. 684, ISBN 1590593251, <http://www.apress.com/book/view/9781590593257>. Hozzáférés ideje: 2009-07-21 Archiválva 2009. július 31-i dátummal a Wayback Machine-ben
További információk
[szerkesztés]- JFace Wiki
- Gazdag kliensek az SWT-vel és JFace-szel
- Az Eclipse GUI használata az Eclipse Workbench-en kívül, első rész: Adrian Emmenis : A JFace és az SWT használata önállóan
- Az Eclipse GUI használata az Eclipse Workbench-en kívül, második rész: Adrian Emmenis A JFace kép registry-je