Introduction

The previous chapter presented the main steps required to develop a simple custom widget and the artifacts required for its operation. Simple custom widgets, such as the e-mail address widget, are often sufficient to meet presentation requirements. They can also be used in the context of more complex widgets. In this chapter, two such complex widgets will be introduced. The following chapters will develop these sample widgets in full to demonstrate all of the main concepts in advanced custom widget development.

The two sample widgets are used to present information in context panels. To avoid overloading the developer with information, the main parts of these context panel widgets will be developed first in isolation. Each part will be a widget in its own right and will be configured for use on its own before the next part is introduced. When the parts are essentially complete, they will be combined using new renderer classes that delegate the rendering of these parts to form the full sample widgets. Later chapters will then show how issues such as text localization, locale-specific data formatting and accessibility compliance can be addressed.