T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

Графические системы SWT и JFace

XWT-приложения

XWT (XML Window Toolkit) – декларативная Eclipse-платформа для создания GUI-интерфейсов, основанная на языке XML.

XWT-платформа отделяет определение GUI-интерфейса в виде XML-документа от программной логики запуска и выполнения приложения. Такое разделение декларативного описания GUI-интерфейса и бизнес-логики приложения дает преимущества в возможности повторного использования GUI-компонентов и упрощает интеграцию с инструментами разработки.

Для создания XWT-приложения в окне Package Explorer нажмем правой кнопкой мышки на узле проекта, созданного с использованием мастера SWT/JFace Java Project, и в контекстном меню выберем команду New | Other | WindowBuilder | SWT Designer | XWT | XWT Application, нажмем кнопку Next, введем имя пакета и имя класса и нажмем кнопку Finish.

В результате будут сгенерированы два файла – Java-файл с исходным кодом главного класса приложения и одноименный XML-файл с описанием GUI-интерфейса приложения и расширением .xwt. Кроме того в путь приложения будут добавлены библиотеки XWT-платформы.

В статическом методе main() главного класса XWT-приложения – точке входа в приложение получается URL-адрес XWT-файла описания GUI-интерфейса, используя метод getResource() класса java.lang.Class<T> и поле XWT_EXTENSION_SUFFIX (XWT_EXTENSION="xwt") класса org.eclipse.e4.xwt.IConstants, содержащего общие XWT-константы. Далее полученный URL-адрес XWT-файла передается в качестве аргумента методу load(java.net.URL file) класса org.eclipse.e4.xwt.XWT, являющегося основным классом XWT-платформы. Метод load() класса XWT загружает содержимое XWT-файла, создает на его основе GUI-компоненты и возвращает корневой компонент org.eclipse.swt.widgets.Control.

Корневой Control-компонент GUI-интерфейса дает возможность получить с помощью метода getShell() корневое Shell-окно приложения для компоновки его дочерних компонентов методом layout() класса org.eclipse.swt.widgets.Composite и его активизации методом open() класса org.eclipse.swt.widgets.Shell.

Перед открытием Shell-окна в методе main() вызывается метод centerInDisplay() главного класса XWT-приложения, отвечающий за установку координат и размеров Shell-окна относительно Display-объекта.

При открытии XWT-файла в WindowBuilder-редакторе в области редактирования среды Eclipse появляются три вкладки: XML Source, Design и Bindings (рис. 5.7).

Рис. 5.7. WindowBuilder-редактор XWT-файла

Вкладка XML Source отображает описание GUI-интерфейса в XML-формате, вкладка Design представляет визуальный графический редактор GUI-интерфейса, а вкладка Bindings обеспечивает создание и редактирование связывания данных.

Palette-палитра и область визуального редактирования вкладки Design позволяют наполнить главное окно XWT-приложения необходимыми компонентами GUI-интерфейса аналогично SWT и JFace приложению.


Стилизация SWT-компонентов с помощью CSS