Use JFactory to quickly assemble Java applications.
Rick Grehan
The quantity of new Java products that arrives daily at BYTE is unnerving. The number of new Java books alone is such that I'm pretty sure the delivery people will soon be unloading them with snow shovels.
Consequently, the Java signal-to-noise ratio is very low; the job of sifting wheat from chaff is difficult. Many of us are still working through the source code for the bouncing-heads d
emo. There's nothing wrong with that; I'm guilty of it myself. You have to start somewhere.
But once you've got those heads figured out, you should turn your attention to a pair of seriously good Java program jump-starters from Rogue Wave Software. A purveyor of C++ class libraries, Rogue Wave
now also offers JFactory, a user-interface development environment for Java. (At the time of this writing, a beta version of JFactory with a 30-day usage limit was available for downloading from
http://www.roguewave.com
. Be warned, however; the file is over 3 MB.)
JFactory looks with longing eyes toward Visual Basic (VB). The act of creating an application (or applet) within JFactory proceeds along the same lines as building a VB program. You start out guided by what amounts to a wizard, which builds for you an empty window (or form, or frame, whichever term you feel comfortable using). A tool palette appears, and, by selecting items from that palette, you populate the window with scroll bars, text boxes, buttons, and other elements. When you click on a visual object, the object-manager window opens, reveali
ng that object's associated properties and events. Sound familiar? If you're a VB programmer, it should.
All the while, JFactory is conjuring source code, waiting for you to pick the Generate menu selection so that it can pour that source into a file for you. And in the resourceless world of Java, the amount of source code that must be produced (and ultimately executed) to create those visual objects will amaze you. Hence, JFactory does you a big favor.
Iterative development is particularly important in user-interface design. You want to be able to add a toolbar and see immediately what it looks like in the final application or be able to associate a series of buttons with the opening of various dialog boxes and quickly confirm that each button leads to the intended dialog box. JFactory permits code-and-test work with its Test Interface capability. Once you've got a rudimentary user interface clicked-and-dragged together, you then select Test Interface from the Project menu, and JFactory simulates the
action of the interface.
This simulation goes quite far. For example, JFactory's image-loop visual object accepts as properties the path name to a starting GIF file and the number of images in the loop. If the first GIF file's name is PICT1.GIF, and if the number of images selected is four, then the image-loop object knows to load the series of files PICT1.GIF, PICT2.GIF, PICT3.GIF, and PICT4.GIF. Once the image-loop object is instantiated and added as a member of a window's or dialog box's components, it immediately begins playing those images as frames in a moving picture. JFactory's Test Interface selection provides full image-loop automation.
Ironically, the simulation of an image loop goes faster than the actual execution of that same loop in Java. And thus another little dark cloud forms over the Java-performance landscape.
Also available from Rogue Wave is a suite of three Java packages: Jtools, Jwidgets, and Jmoney. Collectively, these packages are called JLibraries. (A subset of Jwidgets
is included with JFactory.) Jtools is a collection of well-reasoned interfaces and classes. These include container classes for objects such as binary trees, B-trees, bags, collections, and the like. It also includes a regular-expression-handling class, as well as a set of classes that format text and numerics for output. (The latter is a real blessing if you have grown weary of coping with the paucity of
System.out.println()
.)
JFactory is available for Windows NT and 95. Both JFactory and Jtools need at least the version 1.0.2 release of the Java developer's kit (available from
http://www.javasoft.com
). JLibraries and a single-user license for JFactory each cost $195. The individual packages within JLibraries cost $99 each. Rogue Wave also provides annual support and upgrade contracts, as well as si
te licenses.
Where to Find
Rogue Wave Software
Phone: (541) 754-3010
Internet:
http://www.roguewave.com
HotBYTEs
- information on products covered or advertised in BYTE
Rick Grehan is a senior technical editor for BYTE reviews. You can reach him by sending e-mail to
rick_g@bix.com
.