Eclipse RCP

Purchase our premium content to receive access to extended RCP content, explanation videos, and expert RCP topics. As a premium user, you can receive support through our online support system.

Take advantage of this offering and learn all about Eclipse RCP.

  • Topic: Rich Client Platform
  • Language: English
  • Fee first year: €450.00 excl. VAT
  • Each following year: €100.00 excl. VAT
  • Content:
  • Features:
    • >600 pages of script
    • 27 instructional videos
    • 141 hands-on exercises
    • continuous updates
    • one year access
    • reduced price all following years

Why premium content?


  • Watch explanation and coding videos recorded by our experts
  • Read deep dive content and tutorials not listed at
  • Get access to comprehensive and coordinated exercises
  • Report problems with the exercises and our experts will help you to solve them as soon as possible
  • Learn to develop Eclipse RCP applications professionally while using the latest API's
  • Get access to an extensive script with more than 700 pages, which covers every aspect of Eclipse RCP programming
  • Continuous updates of the training material are always available
  • Strengthen and deepen your knowledge through the development of a comprehensive training example
  • Take advantage of the vogella GmbH company knowledge which is actively develops the Eclipse framework
  • Compared to the tutorials the training is guided, you find more material, you get access to videos and quizzes, you can receive a certificate and you can ask questions regarding the material to the vogella employees

Learning Portal

Which topics are covered?


Introduction to Eclipse and Eclipse 4

  • Components of the Eclipse platform
  • Eclipse 3.x in comparison with Eclipse 4.x
  • Eclipse license
  • Internet information sources

Eclipse architecture

  • Software components
  • Configuration files (plugin.xml, MANIFEST.MF)
  • Extensions and extension points
  • Important user interface components

Deployment of an Eclipse product

  • Product configuration file
  • Feature projects
  • Branding and product export
  • Run configuration
  • Problem analysis during export

Eclipse 4 application model

  • Application model and model components
  • Model editor
  • Naming schema for ID's

Dependency injection and annotations

  • Overview dependency injection
  • Dependency injection framework in Eclipse
  • Field, method and constructor dependency injection
  • Behavior annotations
  • Application lifecycle annotations

Commands, Handlers, Menus and Toolbars

  • Contributing to the menu and the toolbar
  • Handling of popup menus
  • Scope of handlers and core expressions
  • Defining keybindings

Scope of injection

  • IEclipseContext
  • Injection search strategy
  • Creation of injectable objects
  • Model elements and dependency injection

Modularity of the Eclipse platform with OSGi

  • Plug-ins and bundles
  • Definition of dependencies between plug-ins
  • Fragment projects
  • OSGi framework start configuration and usage of the OSGi console

OSGi services

  • Services and the OSGi service registry
  • Publishing services via OSGi declarative services
  • Usage of services in Eclipse 4
  • OSGi declarative service definition with annotations

User interface development with SWT

  • Overview Standard Widget Toolkit
  • SWT event handling
  • SWT layout manager: FillLayout, RowLayout and GridLayout
  • User interface builder: SWT Designer
  • Custom widgets and Nebula widgets

Introduction JFace

  • Overview JFace components
  • SWT resource management
  • Control decorations for user feedback
  • Introduction into the Viewer framework (LabelProvider, ContentProvider, ComboViewer)
  • Handling Viewer selection

JFace TableViewer and TreeViewer

  • ColumnLabelProvider and CellLabelProvider
  • Editable tables
  • Sorting, filtering, layouts and own label provider

Dialog and Wizards

  • SWT standard dialogs
  • JFace Dialogs
  • JFace Wizards

Declarative styling with CSS

  • Introduction into CSS
  • Definition of styles and themes, colors and gradients
  • Styling specific widgets
  • Dynamic style switching at runtime
  • Using the CSS Spy tooling

Platform services and interaction of components

  • Service overview
  • Part service
  • Model service
  • Selection service
  • Command and Handler service

Editor handling in Eclipse 4

  • Comparison Views and Editors
  • Getting parts which behave as editors
  • Using services to interact with parts

Accessing and extending the Eclipse context

  • Accessing the context
  • Extending the Eclipse context with own objects
  • Using dependency injection to create own objects

Settings and preferences

  • Configuration area and workspace
  • Persistence of the Eclipse application
  • Part persistence
  • Dependency injection for preference values

Modularity for Eclipse 4 applications

  • Contributing to the application model
  • Static model contributions with fragments
  • Dynamic model contributions with processors

Internationalization (i18n)

  • Adding support for multiple languages
  • Usage of fragment projects
  • Outlook: translation services in Eclipse 4

Concurrent UIs

  • SWT threading
  • Avoiding invalid thread access
  • Asynchronous processing with the Eclipse API

JFace Data Binding

  • Introduction into databinding
  • Observing properties
  • Conversion, validation and update strategies
  • Databinding for JFace Viewers
  • Master / detail bindings

Target Platform

  • Definition of development components
  • Creation of target platform definitions

Migrating Eclipse 3.x applications

  • Running Eclipse 3.x applications on top of Eclipse 4
  • Mixing Eclipse 3.x and Eclipse 4.x components
  • Discussion: Migration path for existing applications

Definition of own annotations for dependency injection

  • Definition of new annotations
  • Evaluation of new annotations
  • Use cases

Creating and evaluating extension points

  • Eclipse extensions and extension points
  • Accessing existing extensions
  • Creating and evaluating a new extension point

The Renderer framework

  • Purpose of the Renderer framework
  • Define your own renderer
  • Outlook: Using an alternative renderer
  • Outlook: Extending the application model

Building Eclipse applications with Maven

  • High level overview of Tycho
  • Building plug-ins, features, products and update sites
  • Executing plug-in unit tests with Tycho

Best practices and tips & tricks