410013796724260
• Webmoney
R335386147728
Z369087728698
Библиотека SWT (Standard Widget Toolkit)SWT библиотека представляет собой кросс-платформенную оболочку для графических библиотек конкретных операционных систем. SWT разработана с использованием стандартного языка Java и получает доступ к специфичным библиотекам различных ОС через JNI (Java Native Interface), который используется для доступа к родным визуальным компонентам операционной системы. Библиотека SWT является библиотекой с открытым исходным кодом и предназначена для разработки графических интерфейсов приложений на языке Java. Лицензируется SWT под Eclipse Public License, предназначенной для открытого ПО. SWT позволяет получать привычный внешний нтерфейс программы в соответствующей операционной системе и является альтернативой библиотекам AWT и Swing. Java-приложение с использованием SWT более эффективна по сравнению с AWT и Swing. Но при этом появляется зависимость от операционной системы и оборудования. IDE EclipseКорпорация IBM, имея опыт разработки VisualAge/SmallTalk, инициировала проект по разработке универсальной платформы для создания java приложений IDE Eclipse. В процессе разработки IDE (Integrated Development Enviroment) Eclipse была разработана новая графическая библиотека, получившая название Standard Widget Toolkit (SWT). Библиотеку SWT можно использовать не только для разработки приложений в IDE Eclipse, но также в других средах. Для этого достаточно включить SWT в состав java приложения. Библиотека SWT поддерживает большинство популярных операционных систем. Также существует возможность компиляции SWT java приложений в нативный бинарный код, что повышает производительность созданных приложений и не требует установки java машины - Java Runtime Enviroment (JRE). Такие приложения ничем не отличаются от нативных приложений конкретной операционной системы, а использование современных IDE позволяет быстро создавать качественные кросс платформенные продукты для различных операционных систем. Дистрибутив библиотеки SWT для различных ОС можно скачать на сайте http://www.eclipse.org/swt/. Создание проекта с использованием SWT в IDE EclipseБиблиотека SWT входит в состав IDE Eclipse и располагается в поддиректории plugins. К проекту можно подключить как "родную" библиотеку Eclipse, так и "внешнюю" с учетом программно-аппаратной части ОС, в которых приложение будет работать. Подключить библиотеку SWT к проекту в IDE Eclipse можно несколькими способами. Подключение SWT из директории plugins среды EclipseДля подключения SWT из директории plugins среды Eclipse необходимо открыть форму настроек проекта. Для этого следует выделить проект, вызвать всплывающее меню правой клавишей мыши и выбрать пункт «Properties», либо нажать горячие клавиши «Alt-Enter». В открывшейся форме следует выбрать вкладку «Libraries», нажать кнопку «Add External Jars...» и выбрать библиотеку SWT из директории plugins среды Eclipse. Подключение к проекту дистрибутива SWTДистрибутив поставляется в виде архива zip. Его необходимо "развернуть" и импортировать в IDE Eclipse как "Existing Projects into Workspace". В результате в дереве проектов вкладки "Package Explorer" IDE Eclipse проект библиотеки SWT будет иметь структуру как на следующем скриншоте. После этого библиотеку SWT можно подключать к проектам. Для это следует в форме настроек проекта на вкладке "Projects" нажать кнопку "Add" и в отдельном окне добавить к проекту библиотеку SWT в виде дополнительного проекта (org.eclipse.swt). Проект в IDE Eclipse с использованием SWTСтруктура проекта с использованием библиотеки SWT в IDE Eclipse представлена на следующем скриншоте. Объект Display, используемый в java-приложениях с SWT, в интерфейсе не виден, но нужен для того, чтобы отображать графические визуальные компоненты, расположенные на нем. Объект Shell - это окно в приложении. Для отображения графического интерфейса приложения необходимо открыть Shell и создать цикл отслеживающий уничтожение окна. В приложении может быть создано несколько экземпляров Shell. Почти все графические интерфейсы java-приложения с SWT создаются из нескольких основных частей. Все SWT widgets могут быть найдены в пакетах org.eclipse.swt.widgets или org.eclipse.swt.custom (некоторые плагины Eclipse также предоставляют кастомизируемые widgets в других пакетах). Практически все элементы управления в SWT имеют в конструкторе родительский объект. При инициализации элементы управления автоматически добавляются к предку, в то время как в AWT/Swing они должны быть явно указаны, реализуя нисходящий способ реализации графических интерфейсов. Таким образом, все элементы управления в SWT получают композитный родительский класс (или внутренний класс), как аргумент конструктора. Большинство SWT элементов имеют опции флага, которые часто называют "Стилем". Все значения стиля имеют тип static final int и описываются в классе SWT в пакете org.eclipse.swt. Если флаг/стиль не требуется, необходимо использовать значение SWT.NONE. SWT, JFace, widgetБиблиотека SWT использует основные widgets (виджеты) операционной системы. Во многих IDE такой подход к разработке является слишком низкоуровненным. Дополнительно совместно с SWT используется библиотека JFace, предоставляя java приложениям с библиотекой SWT многочисленные сервисы. Виджет widgetС точки зрения программного приложения widget («виджет») - это элемент графического интерфейса, имеющий стандартный внешний вид и выполняющий стандартные действия. Под виджет'ом подразумеваются окно (диалоговое, модальное), кнопка (стандартная, радиокнопка, флаговая), список (иерархический, раскрывающийся) и т.д. «Виджет» также используется для представления класса вспомогательных мини-программ в виде графических модулей, которые размещаются в рабочем пространстве родительской программы и служат для украшения пользовательского интерфейса, развлечения, решения отдельных рабочих задач или быстрого получения информации из интернета без помощи веб-браузера. Библиотека JFaceБиблиотека JFace расширяет возможности SWT. Одна из основных важных особенностей JFace является способность изолировать модель данных приложения от графического интерфейса, который воспроизводит и модифицирует их. JFace — это набор java-классов, реализующих наиболее общие задачи построения GUI. С точки зрения разработки java-приложения JFace представляет собой дополнительный программный слой над SWT, который реализует шаблон Model-View-Controller. JFace реализует следующие возможности:
Основная цель использования JFace связана с освобождением разработчика от рутинных операций по созданию пользовательского интерфейса, позволяя ему сосредоточиться на бизнес-логике приложения. Основной задачей группы разработчиков Eclipse было сокрытие реализации компонентов графического интерфейса построенных на основе библиотеки SWT и по возможности максимальное использование библиотеки JFace как более высокоуровневой и простой в использовании. Библиотека SWT не зависит от JFace, но JFace использует SWT. Тем не менее, IDE Eclipse построена с использованием обеих библиотек, но в некоторых случаях SWT используется напрямую в обход JFace. Используемая в SWT терминология
|