Unfortunately, the installer was much more complex, involving the installation of the
JAI opt. Package, used by the draw module. But the severe instability of such a fea-
ture in Web Start and the upcoming (soon after summer it seems) release of new
facilities from Sun about optional packages obliged me to cut it down drastically, to
what you can see now.
Note at line 46 in Listing 13.6 that the Installer class is managed by the JNLP Client
through its main method, both for installation and uninstallation. Figure 13.5 depicts a screen
shot from the first-time installation procedure.
F IGURE 13.5
The installation process performed by Java Web Start.
Finally, we will not discuss the draw package that implements the draw editor module. Such a
package is used here only as an example (you can see that it is rather fragile). It would take too
long to discuss it…indeed, it could take another whole topic to discuss it properly!
A JNLP Utility Library
The Textuale application uses a JNLP utility library, presented in Appendix D, “A JNLP
Support Library”. This library provides some service classes, such as those discussed in
Chapter 11 plus some new ones. The old classes (for example GeneralUtilities that replaces
the Utilities class presented in Chapter 11) were essentially retrofitted and expanded to fully
integrate with the proposed framework in Appendix D.
We chose this approach (partial duplication of code and possible confusion on which class to
use) for two reasons. On one hand, an incremental introduction has the advantage of flattening
the learning curve, and on the other side separating “lightweight” and “fully-integrated” utility
code allows for more freedom of choice.