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;
}
}
Примечания
- ↑ Eclipse programmer’s guide entry on JFace. Дата обращения: 11 мая 2022. Архивировано 9 января 2010 года.
Литература
- Scarpino, Matthew; Holder, Stephen; Ng, Stanford; Mihalkovic, Laurent (28 ноября 2004), SWT/JFace in Action: GUI Design with Eclipse 3.0 (1st ed.), Manning Publications, p. 496, ISBN 1932394273
- Li Guojie, Jackwind (11 февраля 2005), Professional Java Native Interfaces with SWT/JFace (1st ed.), Wrox Press, p. 528, ISBN 0470094591
- Harris, Robert; Warner, Rob (21 июня 2004), The Definitive Guide to SWT and JFACE (1st ed.), Apress, p. 684, ISBN 1590593251, Архивировано 31 июля 2009, Дата обращения: 17 апреля 2010
Ссылки
- Wiki JFace
- Rich clients with the SWT and JFace Архивная копия от 6 февраля 2012 на Wayback Machine
- 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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.