- JFace
-
JFace — набор Java-классов, реализующий наиболее общие задачи построения GUI. В рамках проекта Eclipse библиотека JFace описывается следующим образом: «Элементы пользовательского интерфейса, реализация которых может быть утомительной»[1]. JFace представляет собой дополнительный программный слой над SWT, который реализует паттерн Model-View-Controller. JFace предоставляет следующие возможности:
- Предоставляет «Viewer» классы, отвечающие за отображение и реализующие трудоёмкие задачи по заполнению, сортировке, фильтрации, а также обновлению виджетов.
- Предоставляет «Action» классы, которые позволяют разработчику определять специфическое поведение для отдельных элементов пользовательского интерфейса, таких как пункты меню, кнопки и т. д.
- Предоставляет регистры, содержащие шрифты и изображения.
- Предоставляет набор стандартных диалоговых окон и виджетов, а также предоставляет фреймворк для создания сложного графического интерфейса для взаимодействия с пользователем.
Основная цель JFace заключается в освобождении разработчика от большого количества рутинных операций по созданию пользовательского интерфейса, позволяя ему сосредоточиться на бизнес-логике приложения.
Основной задачей группы разработчиков Eclipse было сокрытие реализации компонентов графического интерфейса построенных на основе библиотеки SWT и по возможности максимальное использование библиотеки JFace как более высокоуровневой и простой в использовании. Библиотека JFace использует SWT, но SWT не зависит от JFace. Тем не менее, рабочая среда Eclipse построена с использованием обеих библиотек и в некоторых местах SWT используется напрямую в обход JFace.
Содержание
Пример
Пример программы «Hello World» с использованием JFace:
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; } }
Примечания
Литература
- Scarpino, Matthew; Holder, Stephen; Ng, Stanford & Mihalkovic, Laurent (November 28, 2004), «SWT/JFace in Action: GUI Design with Eclipse 3.0» (1st ed.), Manning Publications, сс. 496, ISBN 1932394273, <http://www.manning.com/scarpino/>
- Li Guojie, Jackwind (February 11, 2005), «Professional Java Native Interfaces with SWT/JFace» (1st ed.), Wrox Press, сс. 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, сс. 684, ISBN 1590593251, <http://www.apress.com/book/view/9781590593257>
Ссылки
- Wiki JFace
- Rich clients with the SWT and JFace
- Using the Eclipse GUI outside the Eclipse Workbench, Part 1: Using JFace and SWT in stand-alone mode, by Adrian Emmenis
- Using the Eclipse GUI outside the Eclipse Workbench, Part 2: Using the JFace image registry, by Adrian Emmenis
Eclipse Foundation AspectJ · BIRT · Buckminster · Eclipse · Equinox · EclipseLink · SWT · Mylyn · Jetty · JFace · Rich AJAX Platform · Virgo Лицензия: Eclipse Public License · Вебсайт: http://www.eclipse.org/ Категория:- Технологии Eclipse
Wikimedia Foundation. 2010.