Как подключить библиотеку в eclipse
Перейти к содержимому

Как подключить библиотеку в eclipse

  • автор:

 

Библиотека 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 реализует следующие возможности:

  • представление «Viewer» классов, отвечающих за отображение и реализующих задачи по заполнению, сортировке, фильтрации;
  • представление «Action» классов, позволяющих определять "поведение" отдельных widget’ов, таких как пункты меню, кнопки, списки и т.п.;
  • представление регистров, содержащих шрифты и изображения;
  • представление набора стандартных диалоговых окон и виджетов для взаимодействия с пользователем.

Основная цель использования JFace связана с освобождением разработчика от рутинных операций по созданию пользовательского интерфейса, позволяя ему сосредоточиться на бизнес-логике приложения.

Основной задачей группы разработчиков Eclipse было сокрытие реализации компонентов графического интерфейса построенных на основе библиотеки SWT и по возможности максимальное использование библиотеки JFace как более высокоуровневой и простой в использовании.

Библиотека SWT не зависит от JFace, но JFace использует SWT. Тем не менее, IDE Eclipse построена с использованием обеих библиотек, но в некоторых случаях SWT используется напрямую в обход JFace.

Подключение библиотеки к проекту в Eclipse

Очень часто при создании приложения приходится пользоваться сторонними библиотеками при решении тех или иных задач. Но не все начинающие Android-разработчики умеют подключать их к своему проекту. В этой статье я расскажу, как подключаются библиотеки и какие при этом возникают ошибки. В качестве IDE будет использоваться Eclipse.

Разберем 3 случая:

 

1) Подключение jar.
2) Подключение проекта с исходниками.
3) Что делать если пункт 2 не сработал.

Случай первый: библиотека поставляется в jar файле.

Это самый легкий вариант подключения библиотеки. На сегодняшний день не очень распространен и, скорее всего, будет терять популярность. Одной из причин является невозможность запаковки ресурсов всесте с библиотекой. Не так давно появился новый формат библиотек — aar. Это тот же jar-файл, толь с ресурсами. Работать с ним мне еще не приходилось, поэтому ничего больше сказать не могу.

Тут тоже есть два способа подключения jar-библиотеки к проекту.

1 способ

1) Раскройте дерево проекта в Package Explorer
2) Перетащите в папку libs ваш jar-файл (если папки libs нет, то создайте ее)
3) В открывшемся окне выберите пункт Copy files и нажмите OK
3) Нажмите правой кнопкой мыши на вашем проекте и выберите пункт Refresh
4) Готово

2 способ

1) Нажмите правой кнопкой мыши на вашем проекте и выберите пункт Properties
2) В открывшемся окне слева есть меню, выберите в нем пункт Java Build Path
3) Выберите вкладку Libraries
4) Нажмите на кнопку Add External JARs…
5) В открывшемся окне выберите файлс вашей библиотекой и нажмите OK
6) Jar-файл добавлен. Нажмите кнопку OK
7) Готово

Случай второй: библиотека поставляется в виде проекта

1) Откройте File > Import, выбираем Android > Existing Android Code into Workspace
2) Нажмите кнопку Browse
3) В открывшемся окне найдите папку с библиотекой, нажмите OK
4) Поставьте галку на пункте Copy projects into workspace
5) Нажмите Finish.
6) Нажмите правой кнопкой мыши на вашем проекте и выберите пункт Properties
8) В открывшемся окне слева есть меню, выберите в нем пункт Android
8) Нажмите на кнопку Add
9) В открывшемся окне выберите вашу библиотеку и нажмите OK

Третий случай: при импортировании библиотеки Eclipse выдает ошибку

Если при импортировании библиотеки в workspase Eclipse выдает ошибку типа … или какую-нибудь еще, то выполняем следующие действия:

Настройка проекта C++ в Eclipse на примере приложения SFML

Eclipse CDT — интегрированная среда разработки С и C++ на базе платформы Eclipse.

MinGW — компилятор, нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать нативные приложения Microsoft Windows.

SFML — свободная кроссплатформенная мультимедийная библиотека, написана на C++.

Установка Eclipse и MinGW

Для работы Eclipse требуется Java.

Скачиваем Eclipse CDT с официального сайта и распаковываем в любое удобное место, например C:\eclipse . Запускаем eclipse.exe , если все заработало, прекрасно.

Далее качаем установщик MinGW. Запускаем его. Видим окно с описанием, нажимаем Install . Если нужно меняем место установки и нажимаем Continue .

Отмечаем для установки mingw-32-base и mingw-gcc-g++.

После этого нажимаем Installation -> Apply Changes. На открывшемся окне жмем Apply и ждем пока загрузятся и установятся компоненты. Когда установка закончена, качаем msys. Думаю при установке сложностей не возникнет. Теперь нужно добавить в системную переменную Path путь к папке bin MinGW, и к папке bin msys.

У меня получилось так: d:\MinGW\bin\;d:\msys\1.0\bin\

Качаем SFML MinGW, и распаковываем куда угодно.
На этом подготовка окончена.

Создание и настройка проекта C++

Запускаем Eclipse, нажимаем File -> New -> C++ Project. Создаем проект Hello World и выбираем MinGW как на картинке.

Далее ПКМ на созданном проекте -> Properties, открываем C/C++ Build -> Settings -> Tool Setting -> GCC C++ Compiler -> Includes.
1. Нажимаем Add.
2. Выбираем папку includes из директории, куда мы распаковали SFML.

После этого переходим на пункт Preprocessor и в Defined Symbols добавляем SFML_DYNAMIC.

Вот мы подошли к моменту где я получил первую ошибку. Если подключить библиотеку с расширением .a через MinGW C++ Linker -> Libraries, ничего работать не будет. Эти библиотеки нужно подключать через MinGW C++ Linker -> Miscellaneous как Other Object. Указываем путь к библиотекам SFML, нужно подключить libsfml-graphics.a, libsfml-window.a, libsfml-main.a

Построение проекта

Заменяем весь код в автоматически созданном .cpp на этот:

Нажимаем Build

Все соберется успешно но работать не будет, так как отсутствуют dll. Копируем все из папки bin в директории SFML в папку Debug нашего проекта.
Теперь жмем ПКМ на .exe файле, который расположен в папке Debug нашего проекта, выбираем Run As -> Run Configurations, жмем C/C++ Application и нажимаем New launch configuration, после этого нажимаем Run ничего не меняя.

После этого запускать проект можно с помощью Ctrl + F11 или соответствующей иконкой на тулбаре.

How to add external library properly in Eclipse?

So today I downloaded Apache Commons Lang library (binary, zip format). I extracted it to C:\eclipse\commons-lang-2.5 folder. There are a commons-lang-2.5.jar , a commons-lang-2.5-javadoc.jar , and a commons-lang-2.5-sources.jar inside, and a folder for HTML Javadoc. I started Eclipse, added commons-lang-2.5.jar , and set its source and Javadoc respectively as the screenshot below. (http://img43.imageshack.us/img43/9378/eclipsev.png)

Eclipse screenshot

My question is, is there a convenient or standard way to add external libraries? Or am I actually doing the right thing?

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *