The constructor above sets the title of the page (which appears
highlighted below the title bar) and the description (which appears below
the page title). We also have a few helper methods.
updateStatus takes care of displaying page-specific
error messages. If there are no error messages, it means the page is
completed; therefore, the Next button will become available. There
are also getter methods for the data fields' contents. Next is the
createControl() method, which builds all of the visual
components of the page:

You need to know SWT in order to write this code. If you don't,
at the bottom of this article there are links to places where you
can learn it. Basically this method creates labels and fields and
places them in a grid layout. Every time a field is changed, its
data is validated by a call to dialogChanged():