Testing Graphical Components


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


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


CompTest is a small main program that takes a class name from the command line, instantiates it (see Section 25.4), and puts it in a JFrame, alone 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 deferred to Chapter 13.

The class to be tested must be a subclass of Component, or an error message will be 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 Section 12.4, you just say:

java CompTest DrawStringDemo2

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

CompTest showing DrawStringDemo2 (left) and javax.swing.JTree (right)

Figure 12-1. CompTest showing DrawStringDemo2 (left) and javax.swing.JTree (right)

Since little of this relates to the material in ...

Get Java Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.