Recipe 13.2 Testing Graphical Components


Problem

You don't want to have to write a little main program with a frame each time you write a subclass of Component.

Solution

Use my CompTest class, which has a main method that builds a frame and installs your component into it.

Discussion

CompTest is a small main program that takes a class name from the command line, instantiates it (see Recipe 25.3), and puts it in a JFrame, along with an Exit button and its action handler. It also worries a bit over making sure the window comes out the right size. Many of these issues relate to the GUI rather than graphics and are discussed in Chapter 14.

The class to be tested must be a subclass of Component, or an error message is printed. This is very convenient for running small component classes, and I show a lot of these in this chapter and the next. Using it is simplicity itself; for example, to instantiate the DrawStringDemo2 class from Recipe 13.3, you just say:

java CompTest DrawStringDemo2

The result is shown on the left side of Figure 13-1. It's interesting to try running it on some of the predefined classes. A JTree (Java's tree view widget, used in Recipe 19.9) no-argument constructor creates a JTree that comes up with a demonstration set of data, as in Figure 13-1, right.

Figure 13-1. CompTest showing DrawStringDemo2 (left) and javax.swing.JTree (right)
figs/jcb2_1301.gif


Since little of this relates to the material in this chapter, I don't show the source for CompTest; however, it's included in the online code examples for the book.



Java Cookbook
Java Cookbook, Second Edition
ISBN: 0596007019
EAN: 2147483647
Year: 2003
Pages: 409
Authors: Ian F Darwin

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net