JFace

A Wikipédiából, a szabad enciklopédiából

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 feljeszté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).

JFace és SWT alapú grafikus alkalmazások szerkezete

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:

  1. 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, a TableViewer és a TreeViewer osztályokat. Szöveges információ megjelenítésére használható a TextViewer osztály.
  2. Betűtípusok, színek és képek kezelésére használható az org.eclipse.jface.resource csomag.
  3. Dialógusablakok és varázslók létrehozását segítik az org.eclipse.jface.dialogs és az org.eclipse.jface.wizard csomagok.
  4. 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 egy IActionDelegate objektum, mely az akció tényleges implementációját tartalmazza.
  5. Ablakok létrehozására és kezelésére használható az org.eclipse.jface.window csomag.
  6. 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 | forrásszöveg szerkesztése]

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 | forrásszöveg szerkesztése]

Irodalomjegyzék[szerkesztés | forrásszöveg szerkesztése]

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>

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>

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]