Eclipse RCP Development

Eastern Timezone, North America
Monday, October 15, 2012

Eclipse RCP Development
Monday, October 15, 2012 10:00 AM -
Thursday, October 18, 2012 6:00 PM (Eastern Time)

Virtual Class
Eastern Timezone, North America


The Eclipse Rich Client Platform (RCP) is used in almost every industry. Using course material designed by the RCP project leaders and committers, the people who literally wrote the book on the subject, this course accelerates your adoption of this comprehensive platform. Our veteran Eclipse developers, with years of product development experience, teach you the key technology and techniques you need to develop powerful RCP applications and plug-ins. Along the way they provide deep insights and context to help you to start your own development efforts and keep on track.

Course participants develop a functional RCP application from scratch in a series of hands-on focused sessions. Keeping a small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of Eclipse RCP and get plenty of individual support from our experts.

Course Format

  • Duration: 4 days
  • Structure: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: maximum 6-8 participants per instructor
  • Equipment: participants supply their own computer with an up-to-date installation of Eclipse

Course Fees

  • Early Bird - USD 2,300 - to receive this rate register and pay 6 weeks before the start date
  • Regular - USD 2,500
  • 10% group discount for registering 3 or more participants


The trainer for this class is Mr. Elias Volanakis.

Elias is a Technical Lead at EclipseSource. He has been writing Eclipse-based software since 2004 and is helping software professionals make the most out of Eclipse in their own development efforts. Elias is working on Eclipse as a committer for the Riena (business-friendly RCP) and RAP (RCP for the web) projects. He is sharing his knowledge through training, conference talks and blog posts.

Feedback from course participants:
"Elias did an excellent job covering many topics in a short time-frame. He also was very helpful in answering all questions in detail. I learned a lot from this training. He also custo-mized parts of the course at our request."
"It was a really good class. It really helped that it was very hands-on."
"I was impressed with the experience and the instruction. Elias was great and very open to dialog and questions."

Course Goals

  • Understand the most common concepts Eclipse Rich Client Platform (RCP)
  • Apply those concepts to the development of general GUI-applications
  • Gain working knowledge the Eclipse RCP architecture and individual subsystems
  • Become familiar with best practices for RCP development

Target Audience

  • Java developers looking to benefit from Eclipse's Rich Client Platform for developing general, non-IDE, GUI applications
  • Software architects interested in building business-wide software platforms
  • Eclipse plug-in developers wanting to round out their knowledge and optimize their skills for RCP-specific scenarios


  • Knowledge of Java and object-oriented programming
  • Experience using the Eclipse IDE is desirable
  • Basic knowledge of design patterns and XML

Course Outline

Introduction to RCP
  • History, Benefits and Examples
  • Architecture of an RCP application
  • Plug-in based modularization
Applications & Workbench
  • The Workbench - Eclipse's UI Metaphor
  • Windowing: Window, Menu, Page, Perspective, View, Editor
  • How is an RCP application launched?
  • Workbench advisor classes
Views & Perspectives
  • Introduction to extension points
  • Adding views
  • Adding perspectives
  • How to arrange views withing a perspective
  • Saving the user interface state
JFace Viewers
  • Introduction to Structured Viewers
  • Using a JFace Tree Viewer
  • Label and Content Providers
  • Tables and the Jface Table Viewer
Actions and Commands
  • Introduction to actions and commands
  • Where can I add actions/commands in the Eclipse UI?
  • Adding actions/commands through code and xml
  • Integrating with the selection service
  • Pop-up menus
  • Conditional enablement and visibility
  • Types of Editors
  • Differences between Views and Editors
  • Contributing and opening an editor
  • Implementing an editor
  • Managing the dirty state of an editor
Branding and Packaging
  • Customize your application with product branding
  • Packaging an application with features
  • Deploying your RCP application
SWT Widgets
  • Introduction to SWT
  • SWT widgets / controls
  • Basic structure of an SWT application
  • Threading in SWT
  • SWT events
  • Integrating Swing / AWT with SWT
SWT Layouts
  • SWT layout concepts
  • Using SWT layout managers
SWT / JFace Dialogs
  • Reusable SWT and JFace Dialogs
  • Examples
  • Overview of the Eclipse Help System
  • Adding help content
  • Adding context sensitive help
OSGi Essentials
  • OSGi and RCP
  • How do plug-ins work together?
  • Plug-in and package dependencies
  • Plug-in lifecycle
  • Versioning and naming conventions
JFace Wizards
  • Contributing Wizards
  • Defining a wizard extension
  • Implementing a wizard and wizard pages
  • Customizing a wizard
  • Controlling wizard page progression
Data Binding
  • What is the JFace Databinding?
  • Prerequisites and limitations
  • Databinding example
Defining your own extension points
  • Extension Points, Extensions, Contributions
  • Extension Point Editor and Schema
  • Using the Extension Registry
Internationalization (i18n)
  • Adding support for multiple languages
  • Limitations
Testing with JUnit
  • What is PDE JUnit?
  • What is the best way to structure test code?


  • This course is held in English. Other languages are available on request.

Contact Information

Payment Instructions

  • You may pay online with a credit or debit card (Visa or MasterCard).
© 2015
Quick, easy and affordable online event registration and event management software for all event sizes.