Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Prerequisites
As the continuation of a two-part series, I will assume familiarity with the issues discussed in the previous installment,
including the supplementary articles and resources.
The beans
From start to finish of this series, we develop the following beans:
| AlarmBean | A non-graphical bean that fires off an event after a specified delay. |
| ArrowBean | A graphical left-arrow/right-arrow bean. |
|
A graphical progress-display bean. |
|
|
A graphical numeric |
|
|
A graphical font-chooser bean. This bean makes use of the NumberFieldBean bean. |
|
|
A graphical font-chooser bean that displays the current font and provides OK/Cancel buttons. This bean makes use of the FontChooserBean bean. |
|
|
A graphical font-chooser bean that pops up the font selector in a separate dialog. This bean makes use of the FontSelectorBean bean. |
We discussed the AlarmBean and ArrowBean beans in detail last month; in this episode, we will discuss the remaining beans in varying levels of detail.
You may be wondering why we're building three font beans. The ultimate goal is simply to produce a font selector bean that pops up a font dialog when the user clicks on a button. This task very naturally divides into the three beans we'll produce: The first is the user interface for the font selection, the second adds dialog controls and a font sample, and the third introduces a button to pop up the dialog and contains the basic dialog-handling code.
Without beans, we would have to develop these items as specialized AWT components or as a single monolithic class; using beans, we can develop the three parts as independent beans that are reusable in their own right.