UI Components

Platform UI

Platform UI consists of several components, which provide the basic building blocks for user interfaces built with Eclipse. Some of these can be reused in arbitrary applications, while others are specific to the Eclipse IDE.

The Platform UI project is responsible for the runtime, user interface and help components of Eclipse. It provides the base components for the Rich Client Platform, e.g., the Eclipse services, the dependency injection framework, the CSS engine, JFace and much more. These components can be used to build arbitrary applications, not just the Eclipse IDE. The Eclipse IDE is just one instance of an RCP application, but it demonstrates the power and extensibility achievable by RCP applications.

JFace is a UI toolkit with classes for handling many common UI programming tasks. JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. JFace includes the usual UI toolkit components of image and font registries, text, dialog, preference and wizard frameworks, and progress reporting for long running operations. Two of its more interesting features are databinding and viewers. Databinding allows to synchronize arbitrary properties of objects. Viewers are model based adapters for certain SWT widgets, simplifying the presentation of application data structured as lists, tables or trees.

The Workbench provides the user interface structure for Eclipse. The purpose of the Workbench is to facilitate the seamless integration of tools. These tools contribute to extension points defined by the Workbench. The Workbench is responsible for the presentation and coordination of the user interface. The tools metaphor is not specific to development tools, but can apply equally well to arbitrary applications. Note that the Workbench is sometimes called the Generic Workbench, to distinguish it from its instantiation in the Eclipse IDE, where it is called the IDE Workbench.

Platform UI also provides the IDE application plug-in, which instantiates and configures the Generic Workbench to form the IDE Workbench, on top of which lies the rest of the Eclipse IDE Platform and the Eclipse SDK (including the Java Development Tools and Plug-in Development Environment). Unlike the Generic Workbench, the IDE application plug-in is intended only for use in the IDE Platform, and is not designed as a reusable component for use in other RCP applications.

For more details on the Rich Client Platform and other components available for use in RCP applications, see the RCP wik page.

Get Involved

If you are interested in participating in the development of the UI component, check out the wiki page on how to contribute

Development Resources

Thanks to Yourkit
YourKit is kindly supporting open source projects with its full-featured YourKit Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications.