Why JFace?
While SWT provides generic implementations for basic widgets (such as trees, buttons, labels, and so on), these often work at a level that deals with strings and responds to selection by integer index. To make it easier to display structured content, JFace provides several viewers that provide combinations of SWT widgets and event managers to provide a UI for structured content.
There are many types of viewer—which are all subclasses of Viewer
—but the most common ones are ContentViewer
subclasses such as TreeViewer
and TableViewer
. There are also text-based viewers such as TextViewer
and SourceViewer
, as well as operational views such as DetailedProgressViewer
for the Progress
view. In this chapter, we will create views based on TreeViewer
and TableViewer
. Since JFace is based on SWT (described in Chapter 2, Creating Views with SWT), knowing how SWT works is essential to understand how JFace is used.