Руководство Eclipse RAP для начинающих - приложение e4 Workbench
1. Требуется установка, чтобы начать
Установка Eclipse
You need the latest version of Eclipse. There currently is Eclipse 4.5 (Codes MARS).
In my opinion you to download package: "Eclipse IDE for Java EE Developers". The only different package quantities Plugin, for the purpose of different programming. During the programming process can install the plugin for other purposes.
Установка WindowBuilder
Установить Plugin WindowBuilder, это Plugin 1, который позволяет создавать интерфейс приложения SWT через перетаскивания удобным способом. Смотрите инструкции установки по ссылке:
Установка e4 Tools Developer Resources
Вы можете просмотреть руководство установки e4 Tools Developer Resources по ссылке:
- Установите e4 Tools Developer Resources для Eclipse
Установка RAP e4 Tooling в Eclipse
Вы можете посмотреть инструкцию по ссылке:
2. Создать новый Java Workspace
Для программирования приложения RAP е4 вы должны создать новый Java Workspace:
- File/Switch Workspace/Other..
Введите:
- F:\ECLIPSE_TUTORIAL\RAP_E4
3. Установка RAP Target
Для программирования приложения RAP e4 вам необходимо установить среду RAP (RAP Target Platform). Включая минимально две библиотеки:
- RAP Target Components
- RAP e4 Target Components
Создайте project RAPTarget и создайте файлTargetdefine. Вы можете посмотреть инструкцию по ссылке:
Полученные результаты:
4. Создать пустой Eclipse RAP e4 Project
В этом документе я буду покажу вам как создавать приложение RAP e4 с самого начала (Не делая по готовому шаблону), так что я буду создавать пустое приложение RAP e4.
In Eclipse select:
- File/New/Other...
Введите:
- Project Name: RAPe4Tutorial
- Check selected on (1)
- On the (2) select "No" to create Eclipse RAP Project (Running on Web), otherwise it will create RCP Project (Running on the Desktop).
Выбрать " RAP e4 application"
Введите
- Application window title: Hello RAP E4
- Java package name: org.o7planning.tutorial.rape4
Проект создан:
Запустите приложение:
Щелкните правой кнопкой мыши в проект RAPe4Tutorial, выбрать:
- Run As/Eclipse Application
Eclipse браузер может не отображать приложение RAP e4
Вам нужно скопировать ссылку для запуска на Firefox или Chrome
5. Конфигурация для запуска приложения
Вы можете конфигурировать порт (port) и браузер по умолчанию для запуска приложения RAP е4:
Щелкните правой кнопкой мыши в проект RAPe4Tutorial выберите:
- Run As/Run Configurations...
Использование порта 7777 и браузер по умолчанию операционной системы:
Нажимаете кнопку Apply и запустить приложение:
Результаты:
6. Структура пустого приложения Eclipse e4 RAP
Пустое приложение Eclipse RAP e4 было создано через Eclipse, посмотрим на ее структуру. Открыть файл Application.e4xmi:
Измененить название приложения в "Eclipse E4 RAP Application", как в иллюстрации ниже.
И повторно запустить приложение:
7. Конфигурировать добавленные Bundle
Для того, чтобы создать приложение RAP e4 с несколькими функциями, вам нужно декларировать использование некоторых других Bundle:
Открыть файл MANIFEST.MF
Добавить Bundle
- org.eclipse.e4.ui.model.workbench
- org.eclipse.e4.ui.services
- org.eclipse.e4.ui.workbench
Bundle могут быть взаимозависимы, например bundle А зависит от B, C. И B зависит от E, F. При добавлении bundle A в свое приложение, Eclipse нужно перерасчитать необходимые Bundle для упаковки в продукт для работы.
Таким образом, после того, как вы заявляете использование дополнительных Bundle, вам необходимо переконфигурировать приложение.
Таким образом, после того, как вы заявляете использование дополнительных Bundle, вам необходимо переконфигурировать приложение.
Right-click the Project and select:
- Run As/Run Configurations
- 1.Нажимаете кнопку Add Required Bundles чтобы eclipse перерасчитал зависимые bundle
- 2. Нажимаете кнопку Validate Bundles чтобы гарантировать, что ваш проект не будет иметь проблем
8. Handler и Command
RAP Framework построил много готовых Command, например 3 команды с ID ниже:
- org.eclipse.ui.file.exit
- Commande pour quitter l'application
- org.eclipse.ui.file.open
- La commande pour ouvrir un fichier.
- org.eclipse.ui.file.save
- La commande save editor
- org.eclipse.ui.help.aboutAction
- La commande qui s'ouvre la fenêtre About.
You can see a list of built-in command of the RAP framework at:
Создайте новую quiteCommand команду, вызванную для выхода из приложения, которая была построена в RAP Framework.
Точно так же мы создаваем другие 2 Command:
Выполните команду save содержимое на Part (editor)
- ID: org.eclipse.ui.file.save
- Name: saveCommand
AboutCommand:
- ID: org.eclipse.ui.help.aboutAction
- Name: aboutCommand
Handler является классом обработки команд (command) из Menu или Toolbar. При нажатии на MenuItem или Toolltem означает выполнить команду, до того, как будет выполнена команда ,Handler будет выполнена раньше, вы можете отменить (cancel) Command, которая выполняется в Handler.
Handler это классы, которые при выполнении будет выполнять задания записанные в method аннотированные в @Execute.
Я буду создавать 3 класса Handler:
Handler это классы, которые при выполнении будет выполнять задания записанные в method аннотированные в @Execute.
Я буду создавать 3 класса Handler:
AboutHandler.java
package org.o7planning.tutorial.rape4.handler;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
public class AboutHandler {
@Execute
public void execute(Shell shell) {
MessageDialog.openInformation(shell, "About", "Eclipse e4 RAP Application");
}
}
QuitHandler.java
package org.o7planning.tutorial.rcp.handler;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.ui.workbench.IWorkbench;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
public class QuitHandler {
@Execute
public void execute(IWorkbench workbench, Shell shell){
if (MessageDialog.openConfirm(shell, "Confirmation",
"Do you want to exit?")) {
workbench.close();
}
}
}
SaveHandler.java
package org.o7planning.tutorial.rcp.handler;
import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
public class SaveHandler {
@CanExecute
public boolean canExecute(EPartService partService) {
if (partService != null) {
return !partService.getDirtyParts().isEmpty();
}
return false;
}
@Execute
public void execute(EPartService partService) {
partService.saveAll(false);
}
}
Объявить Handler с приложениями
Для объявления Handler с Application, вы должны объявить ID, Handler class и Command Handler.
Например, пользователь выйдет из приложение, нажав на menuItem Exit, этот menuItem связан с quiteCommand, QuiteHandler это класс обрабатывающий эту команду (как объявлено выше), класс QuiteHandler спросит пользователя, действительно ли пользователь хочет закрыть приложение, если да, то quiteCommand команда будет выполнена.
Например, пользователь выйдет из приложение, нажав на menuItem Exit, этот menuItem связан с quiteCommand, QuiteHandler это класс обрабатывающий эту команду (как объявлено выше), класс QuiteHandler спросит пользователя, действительно ли пользователь хочет закрыть приложение, если да, то quiteCommand команда будет выполнена.
Введите:
- ID: handler.quiteCommand
Индентично, объявите другие Handler
- handler.aboutCommand
- handler.saveCommand
9. Объявление Menus
Добавьте некоторые иконки в проект, используются как символ для MenuItem и ToolItem
- sample.png
- save_edit.png
Создать главное меню (Main menu) приложения
Введите ID главного меню, обязательно должно быть:
- menu:org.eclipse.ui.main.menu
Добавить 3 подменю:
- File, Function, Help
Объявление подменю для меню File
- Save
- Exit
Вы можете перезапустить ваше приложение:
10. Создать Toolbar
Создайте Main Toolbar с ID:
- ID: toolbar:org.eclipse.ui.main.toolbar
Добавить 2 Toolitem: open и save
Перезапустите ваше приложение
11. Part
SamplePart.java
/*******************************************************************************
* Copyright (c) 2010 - 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Lars Vogel <lars.Vogel@gmail.com> - Bug 419770
*******************************************************************************/
package org.o7planning.tutorial.rape4.part;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.di.Persist;
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
public class SamplePart {
private Text txtInput;
private TableViewer tableViewer;
@Inject
private MDirtyable dirty;
@PostConstruct
public void createComposite(Composite parent) {
parent.setLayout(new GridLayout(1, false));
txtInput = new Text(parent, SWT.BORDER);
txtInput.setMessage("Enter text to mark part as dirty");
txtInput.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
dirty.setDirty(true);
}
});
txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
tableViewer = new TableViewer(parent);
tableViewer.add("Sample item 1");
tableViewer.add("Sample item 2");
tableViewer.add("Sample item 3");
tableViewer.add("Sample item 4");
tableViewer.add("Sample item 5");
tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
}
@Focus
public void setFocus() {
tableViewer.getTable().setFocus();
}
@Persist
public void save() {
dirty.setDirty(false);
}
}
Добавить новый PerspectiveStack. Это стек (Stack) содержит перспективу (Perspective).
Добавить новую перспективу (Perspective)
Запустите приложение еще раз:
Из за изменений в Part, кнопка SAVE загорится.
Eclipse RAP
- Установите RAP Tools для Eclipse
- Какую платформу я должен выбрать для разработки приложений Java Desktop?
- Руководство Eclipse RAP для начинающих - приложение e4 Workbench
- Установить Eclipse RAP Target Platform
- Создать Eclipse RAP Widget из ClientScripting-based widget
- Установите RAP e4 Tooling для Eclipse
Show More
Технология Eclipse
- Установите Tycho для Eclipse
- Руководство Java OSGi для начинающих
- Создайте проект Java OSGi с Maven и Tycho
- Установите WindowBuilder для Eclipse
- Какую платформу я должен выбрать для разработки приложений Java Desktop?
- Программирование приложения Java Desktop с использованием SWT
- Руководство Eclipse JFace
- Установить Eclipse RAP Target Platform
- Установите RAP e4 Tooling для Eclipse
- Создать Eclipse RAP Widget из ClientScripting-based widget
- Руководство Eclipse RCP 4 для начинающих - e4 Workbench Application
- Установите RAP Tools для Eclipse
- Руководство Eclipse RAP для начинающих - приложение e4 Workbench
Show More