I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

The Eclipse Graphical Editing Framework (GEF)

  • submit to reddit
Published by: Addison-Wesley
ISBN: 0321718380

Reviewer Ratings




Buy it now

One Minute Bottom Line

For any developer thinking of creating a desktop based graphical editor, this is the definitive guide to the most popular graphical framework in Eclipse. With great examples, and in-depth explanations of the entire framework, you'll be a GEF guru having read this book.


The Graphical Editing Framework (GEF) is one of the most popular projects in the Eclipse eco-system, being used across a number of commercial and open source products. Google's WindowBuilder is one such product - a WYSISWYG editor for SWT, Swing and GWT applications. It's the go-to project for developers who want to create any type of UI builder or UML tool in Eclipse. It's also the basis of two other frameworks, GMF and Graphiti. 

GEF is actually made up of three parts - GEF, Draw2D and Zest - and each of these is explained in detail. The book starts with an overview of GEF, before moving onto Draw2D - the lightweight drawing framework. You'll learn the core graphical concepts such as Figures, Layout Managers and Connections.

Then you move on to GEF (which is built on top of Draw2D). GEF is what gives you those palettes along the side, as well as an API for creating really rich interactive diagrams. You first find out about the importance of providing a model in GEFs MVC architecture, and how to hook these models to your diagrams. The next chapter introduces Zest (also build on top of Draw2D). 

Later chapters take you through a more detailed look at major GEF classes such as EditParts, Commands, EditPolicies and how to contribute to the palette. 

GEF is a big framework, with a number of important components. This book does well to summarise the important parts and give you a kick start to creating a graphical editor. It also serves as a useful reference for developers already familiar with GEF. 


Aniceto Garcia replied on Thu, 2012/01/26 - 4:38am

The Graphical Editing Framework (GEF) provides technology to create rich graphical editors and views for the Eclipse Workbench UI. It bundles three components:

  • Draw2d (org.eclipse.draw2d) - A layout and rendering toolkit for displaying graphics on an SWT Canvas.
  • GEF (MVC) (org.eclipse.gef) - An interactive model-view-controler (MVC) framework, which fosters the implementation of SWT-based tree and Draw2d-based graphical editors for the Eclipse Workbench UI.
  • Zest (org.eclipse.zest) - A visualization toolkit based on Draw2d, which enables implementation of graphical views for the Eclipse Workbench UI.

Java Collection

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.