Interested Article - JFace

JFace — набор Java-классов, реализующий наиболее общие задачи построения GUI. В рамках проекта Eclipse библиотека JFace описывается следующим образом: «Элементы пользовательского интерфейса, реализация которых может быть утомительной» . JFace представляет собой дополнительный программный слой над SWT , который реализует паттерн Model-View-Controller . JFace предоставляет следующие возможности:

  1. Предоставляет «Viewer» классы, отвечающие за отображение и реализующие трудоёмкие задачи по заполнению, сортировке, фильтрации, а также обновлению виджетов .
  2. Предоставляет «Action» классы, которые позволяют разработчику определять специфическое поведение для отдельных элементов пользовательского интерфейса, таких как пункты меню, кнопки и т. д.
  3. Предоставляет регистры, содержащие шрифты и изображения .
  4. Предоставляет набор стандартных диалоговых окон и виджетов, а также предоставляет фреймворк для создания сложного графического интерфейса для взаимодействия с пользователем.

Основная цель 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;
  }
}

Примечания

  1. . Дата обращения: 11 мая 2022. 9 января 2010 года.

Литература

  • Scarpino, Matthew; Holder, Stephen; Ng, Stanford; Mihalkovic, Laurent (November 28, 2004), (1st ed.), , p. 496, ISBN 1932394273
  • Li Guojie, Jackwind (February 11, 2005), (1st ed.), Wrox Press , p. 528, ISBN 0470094591
  • Harris, Robert; Warner, Rob (June 21, 2004), (1st ed.), Apress , p. 684, ISBN 1590593251 , Дата обращения: 17 апреля 2010 от 31 июля 2009 на Wayback Machine

Ссылки

  • от 6 февраля 2012 на Wayback Machine
  • Using JFace and SWT in stand-alone mode, by Adrian Emmenis
  • Using the JFace image registry, by Adrian Emmenis
Источник —

Same as JFace