Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

The BeanBox: Sun's JavaBeans test container

Learn how to use this valuable testing tool

The BeanBox, from Sun, eases the development of JavaBeans by providing a test container for the components. The BeanBox can test that the code you wrote for your bean works properly inside a container. This article, a companion piece to my current JavaWorld article, "Double Shot, Half Decaf, Skinny Latte: Customize your Java," teaches you the ins and outs of using the BeanBox.

Downloading and installing the BeanBox

Downloading and installing the BeanBox is the easiest part. The BeanBox is a part of Sun's free Beans Development Kit (BDK). While it's possible to write beans without the BDK, the documents, sample code, JAR files, and, of course, the BeanBox all make bean development much easier.

Download the BeanBox from the Sun Web site at http://splash.javasoft.com/beans/bdk_download.html. You can also download the BDK via FTP from ftp://splash.javasoft.com/pub/bdk_jun97.exe for Windows/x86, and ftp://splash.javasoft.com/pub/bdk_jun97.sh for Solaris/Sparc and Solaris/x86.

The program you download will install the BeanBox on your system. Be sure to refer to the instructions on the download page.

Running the BeanBox

To run the BeanBox from the command line, change directories to the directory in which you installed the BDK. (From now on, we'll call this the "BDK directory.") Then switch to the beanbox subdirectory. This directory contains two files, run.sh (for Unix) and run.bat (for Windows). Running the batch file appropriate for your operating system will start the BeanBox.

If you're a Windows user, you can create a batch file called BEANBOX.BAT and place the following lines in it:

@echo off
cd BDK-directory\beanbox
run.bat


(Be sure to replace BDK-directory with the name of the BDK-directory.) Users of Windows 95 or Windows NT can even create a shortcut to this batch file, and run the BeanBox by simply clicking the shortcut's icon.

Upon running the BeanBox, a small window will appear, saying Loading and analyzing jars....

Loading JARs

At this point, the BeanBox is reading the JAR files in the jars subdirectory of the BDK-directory. A JAR file is a ZIP archive file containing class files (including beans), GIF files, and other resource files the classes may need, plus an optional manifest containing structured information describing the contents of the JAR. You can create your own JAR files and put them in the jars directory, and the BeanBox will include them in the ToolBox. See Resources below for links to finding out more about JAR files.

After a few moments, the small JAR file window disappears, to be replaced by three windows, as seen in the figure below:

The BeanBox windows

These three windows are:

  • On the left, the ToolBox. This window contains all of the beans that are available for adding to the BeanBox.
  • In the middle, the BeanBox. This window contains the beans we're working on.
  • On the right, the Property Sheet. This window contains property editors for all of the properties of the currently selected bean. (In Figure 2, the currently selected bean is the BeanBox itself, as evidenced by the crosshatched box around the perimeter of the BeanBox.)


The BeanBox currently is in design mode, meaning that you can select beans from the ToolBox, place them on the BeanBox, change their properties by using the Property Sheet, and manipulate their behavior with the items on the menu across the top of the BeanBox.

Since we're in design mode anyway, let's add a bean to the BeanBox and see what we can do with it.

Adding beans to the Box

Adding a bean to the BeanBox is as simple as clicking on the bean's label in the ToolBox and clicking in the BeanBox at the position where you want the bean to appear. When you click the bean's label, the cursor changes to a thin pair of crosshairs. Clicking anywhere on the BeanBox creates a new bean, centered around the point where the click occurred. (See the figure below.) Note that nowhere is there any indication of what bean has been "picked up" by the crosshairs.

Choosing and adding a bean

You can also graphically move and resize the beans, though to do so, you need pretty good control of your mouse. At first, it's a little hard to find the "hot spots" where a change in the cursor shape indicates that the bean can be moved or resized. This is one of the BeanBox's many small user interface quirks that make it more difficult than necessary to use.

To resize a bean, position the cursor near the hatched border next to the corner you want to drag (as seen in the figure below). The cursor will change to a diagonal line with arrows.

Resizing a bean

Hold down the left mouse button and drag, releasing when the hatched box indicates the component size you desire. Some beans (like the JellyBean) won't allow you to resize them: When you release the mouse button, the box simply snaps back to its original size. The only way to tell which beans behave this way is by experimenting.

Moving a bean works similarly, except that the hot spot is along the edges of the hatched box instead of at the corners. The cursor changes to crosshairs with arrows, indicating that you can click and drag the bean around.

Moving a bean

It's easy enough to place beans in the BeanBox; unfortunately, hitting the backspace or delete keys won't delete the bean as you might expect. Instead, select the bean and delete it using the Cut item on the Edit menu. Small details like this make using the BeanBox a bit awkward at first.

Changing a bean's properties

It's simple to change properties of beans in the BeanBox. First, select the bean whose properties you want to change by clicking it with the mouse. You'll notice that the Property Sheet window will change to reflect the available writable properties of the bean. You can change the selected bean's properties inside the Property Sheet. The figure below demonstrates how to change the properties of a JellyBean.

Changing a bean's properties

Every type of property has an associated "property editor," which is a widget used for editing a particular property type. Sometimes these are widgets embedded in the Property Sheet; other times (such as more complex properties like Color and Font), the user uses a small pop-up dialog box to change the property. You can write your own property editors for your own types (though that is beyond the scope of this article).

1 | 2 |  Next >
Resources