« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга


ПнВтСрЧтПтСбВс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
    Популярное
Sequentially: временные и повторяющиеся вызовы в JavaScript

Стартовые ключи

Глава 4. Переключатели.

AJAX для PHP - легко. обзор AJAX framewroks для PHP

Математические и тригонометрические функции

Трассировка

Глава 24. КАК ДАННЫЕ SQL ХРАНЯТСЯ В УПОРЯДОЧЕННОМ ВИДЕ?

Функция AccessResource

Тесты

Обзор механизма привязки данных в ASP.NET




    Архив файлов



    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 76
Пользователей: 0

Статьи:: Интернет технологии :: Технология JAVA :: Eclipse 3. Платформа RCP



отправить ссылку другу версия для печати  Обсудить на форуме

Eclipse 3. Платформа RCP

Rich-Client Platform (RCP) - это одна из новых технологий, которая появилась в последней версии Eclipse 3. Ранее в Eclipse IDE поддерживалась разработка плагинов только для расширения непосредственно среды разработки Eclipse. Идеология плагинов целиком пропитывает методику построения Eclipse IDE. По сути, есть модуль загрузчика, а вся остальная функциональность, включая ядро системы, реализована посредством плагинов.



Это позволяет гибко собирать набор требуемых для работы модулей. Удобство построения приложений при помощи данной технологии привело разработчиков к решению создать возможность построения таких приложений без использования всего базового набора Eclipse (eclipse-platform-3.0). В реальных прикладных приложениях нет необходимости включать, например поддержку работы с редакторами или проектами. Набор требуемой функциональности сильно зависит от разрабатываемого приложения. Проект RCP был создан именно для обеспечения возможности создания приложений с использованием мощной универсальной оболочки при минимальном количестве требуемых плагинов. Лицензия Eclipse позволяет использовать созданные приложения в коммерческих целях. При этом мы получаем действительно мощный, мультиплатформенный и качественный инструмент с единым стильным интерфейсом. А огромная команда свободных разработчиков Eclipse гарантирует оперативное устранение багов и постоянное совершенствование данного продукта.

Создадим простейшее приложение с использованием технологии RCP. Создаем новый проект File > New > Project. Далее выбираем, мастер проектов «Plug-in Project» и нажимаем кнопку «Next» (см. Рис. 1).

Рис. 1. Выбор мастера проекта

В появившемся диалоге ввода имени проекта (см. Рис. 2) вводим by.bs.rcp.app1. Это наименование главного пакета, в котором будет создаваться наш проект.

Рис. 2. Ввод имени проекта

ПРИМЕЧАНИЕ

Не включайте галочку поддержки нового формата файла манифеста плагина «Create an OSGi bundle manifest for the plug-in».

В следующем окне мастера (см. Рис. 3) включим галочку «Generate the Java class …»

Рис. 3. Параметры генерации плагина

На последующее предложение переключиться в перспективу разработки плагинов дадим утвердительный ответ. Мастер проектов создаст новый проект и откроет редактор метафайла плагина plugin.xml. Данный файл содержит все настройки плагина. В идеале всю функциональность плагина желательно наращивать при помощи мастеров редактора данного файла, хотя это не исключает ручную правку XML кода и генерацию классов другими способами. Переключимся в закладку «Dependencies» (см. Рис 4)

Рис. 4. Настройка зависимостей

Нажмем кнопку «Add» и из списка пакетов добавим пакет org.eclipse.core.runtime.compatibility.

Непосредственно функциональность плагина описывается в закладке «Extensions». Для начала создадим точку расширения (extension) обеспечивающую возможность автономного запуска (stand alone) плагина как отдельного приложения. Для этого вызовем мастер расширений нажатием кнопки «Add» или из контекстного меню списка расширений закладки «Extensions» (см. Рис. 5).

Рис. 5. Контекстное меню добавления расширения

В списке мастера расширений выберем точку расширения org.eclipse.core.runtime.applications и нажмем кнопку «Finish». В панели свойств расширения введем имя идентификатора приложения «HelloRcpApp» (см. Рис. 6).

Рис. 6. Свойства приложения

Установив указатель мыши на org.eclipse.core.runtime.applications вызовем контекстное меню New1application. Мастером будет добавлена новая ветка дерева расширений application. Установив указатель мыши на application, вызовем контекстное меню New1run. Мастер предложит сгенерировать новый класс приложения by.bs.rcp.app1.PlatformRunnable (см. Рис. 7).

Рис. 7. Предложение генерации класса приложения

Для вызова мастера нажмем линк class*. Мастер создания класса показан на рисунке 8.

Рис. 8. Мастер создания класса

После создания класса он будет открыт в редакторе java кода. Вернемся к редактору расширений. Для функционирования RCP Приложений нужно создать хотя бы одну перспективу. Для этого в редакторе расширений добавим расширение org.eclipse.ui.perspectives в контекстном меню, которого выберем New1perspective. После чего в панели свойств зададим идентификатор и имя перспективы (см. Рис. 9), а так же сгенерируем новый класс нажатием лика class*.

Рис. 9. Свойства расширения перспективы

Рис. 10. Мастер создания класса перспективы

Оставим сгенерированный код перспективы без изменений.

Для формирования начального внешнего вида приложения нужно создать класс наследник WorkbenchAdvisor. Для этого в каталоге src дерева проекта выберем мышкой пакет by.bs.rcp.app1 и в контекстном меню New1Class вызовем мастер класса. В мастере класса (см. Рис. 11) выберем суперкласс org.eclipse.ui.application.WorkbenchAdvisor. Для этого можно воспользоваться мастером поиска класса по имени, который вызывается кнопкой «Browse». Далее вводим имя класса HelloAppWorkbenchAdvisor и нажимаем кнопку «Finish».

Рис. 11. Мастер создания класса

В созданном классе подправим метод получения идентификатора перспективы на:

public String getInitialWindowPerspectiveId() {

return "by.bs.rcp.app1.HelloPerspectiveFactory";

}

Для формирования начальных параметров загрузки приложения нужно «Перегрузить» метод preWindowOpen(IWorkbenchWindow) суперкласса. Для этого из меню вызовем мастер Source1Override1Implement Methods (см. Рис.12).

Рис. 12. Мастер перегрузки/реализации методов суперкласса

public void preWindowOpen(

IWorkbenchWindowConfigurer configurer) {

super.preWindowOpen(configurer);

configurer.setInitialSize(new Point(400, 300));

configurer.setShowCoolBar(false);

configurer.setShowStatusLine(false);

configurer.setTitle("Hello, RCP");

}



Настало время корректировки класса HelloRcpApplication, введем следующий код:

package by.bs.rcp.app1;

import org.eclipse.core.runtime.IPlatformRunnable;

import org.eclipse.swt.widgets.Display;

import org.eclipse.ui.PlatformUI;

import org.eclipse.ui.application.WorkbenchAdvisor;



public class HelloRcpApplication implements IPlatformRunnable {

public Object run(Object args) {

WorkbenchAdvisor workbenchAdvisor = new HelloAppWorkbenchAdvisor();

Display display = PlatformUI.createDisplay();

try {

int returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);

if (returnCode == PlatformUI.RETURN_RESTART) {

return IPlatformRunnable.EXIT_RESTART;

} else {

return IPlatformRunnable.EXIT_OK;

}

} finally {

display.dispose();

}

}

}

Для корректной работы RCP приложений требуется режим компиляции кода версии не ниже 1.4. Для этого выделим проект мышкой и вызовем в контекстном меню диалог корректировки свойств «Properties». В закладке Java Compiler>Use Project Settings>Compilance and Classfiles установим значение Compilance Level в 1.4 (см Рис. 13)

Рис. 13. Настройка параметров компиляции проекта

Теперь можно отлаживать созданное приложение. Выбираем в меню Run1Debug, после чего создаем новый профиль отладки выбором элемента Run-time Workbench и нажатием кнопки «New» (см. Рис. 14).

Рис. 14. Создание нового профиля отладки

В следующей панели настройки параметров отладки (см. Рис. 15) введем имя профиля и выберем метод запуска приложения «Run an application». В выпадающем списке выберем созданное приложение by.bs.app1.HelloRcpApp.

Рис. 15. Настройка параметров отладки

Выберем закладку «Plugins» и в списке доступных режимов выберем «Choose plug-ins and fragments to launch from the list». Далее нужно отменить выбор всех внешних плагинов, отключив галочку напротив ветки «External Plugins». И выбрать только необходимые, нажав кнопку «Add Required Plug-ins» (см. Рис 16). Нажмем кнопки «Apply» и «Debug» для старта отладки. Результирующее приложение показано на рис.17.



Рис. 16. Выбор необходимых плагинов

Рис. 17. Пример работы созданного приложения

После отладки, созданный плагин можно запускать как обычный плагин Eclipse или как автономное приложение. Для этого создадим профиль развертывания.

Экспортируем проект File>Export>Deployable Plugins and fragments. В появившемся диалоге настройки параметров (см. Рис.18) отмечаем экспортируемый галочкой проект. В выпадающем списке «Deploy as» указываем «a directory structure» и выбираем директорию, в которую будет производиться экспорт проекта.

Рис. 18. Параметры экспорта проекта

К сожалению, на данный момент еще не реализован мастер экспорта дополнительных модулей, которые необходимы для запуска RCP приложений. Так что эту операцию придется делать вручную. Из каталога установки Eclipse нужно скопировать в корневой каталог экспорта проекта файл startup.jar и создать там же следующий командный файл запуска приложения app1.bat:

start javaw -cp startup.jar org.eclipse.core.launcher.Main -application by.bs.rcp.app1.HelloRcpApp

В каталог plugins нужно скопировать все требуемые плагины, которые были выбраны при создании конфигурации отладки. Пример структуры каталогов показан на рисунке 19.

Рис. 19. Структура каталогов проекта

Дополнительную информацию по Eclipse и RCP проектам можно найти на сайте http://www.eclipse.org/



Сергей Бердачук, http://www.berdaflex.com




Рубрика: Технология JAVA




Вышел MySQL 5.1.30, первый стабильный рели....

MySQL

После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:


Подробнее... | Рубрика: MySQL | Добавлено: 28.11.2008

Тестирование параллельных программ.

Тестирование

Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.


Подробнее... | Рубрика: Тестирование | Добавлено: 28.11.2008

Архитектура AMD64 (EM64T).

Архитектура AMD

Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.


Подробнее... | Рубрика: Архитектура AMD | Добавлено: 27.11.2008

Остальные статьи:

Платформа 2009. Определяя будущее
Windows Vista Bridge Sample Library - упра...
Оптимизация 64-битных программ
Подгрузка через AJAX HTML-кода, содержащег...
Обзор нового релиза самой мощной Ajax библ...
Firebug 1.3 и 1.4 alpha — что нового и инт...
Релиз Microsoft Silverlight 2.0. Что новог...
XML документация в C#
Курсоры в MySQL 5
Microsoft опубликовала подробности о сесси...
Microsoft делится подробностями о том, что...
Тестируем новый javascript от нового брауз...
MySQL Query Cache
Использование провайдеров компиляции в As...
Чего мы ждем от C# 4.0
Delphi 2009 и C++Builder 2009
Джоэл Спольски и Джеф Этвуд запустили новы...
Поиск кода Google /* что нового? */
10 jQuery скриптов для улучшения интерфейс...
Генераторы отчетов FastReport 4 и QuickRep...


Цитата дня (все,добавить):

Портал фрилансеров

работа на дому


    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование


Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия