HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

The world is based on objects. In the world of programming, objects are your friends, especially in an environment like Java. Objects in Java are known as JavaBeans™, or just Beans. After all, you can't make Java without Beans. ProtoView is definitely a company that wants you to use their Beans. They have a collection of JavaBeans that will help you extend your Java development and enhance your applications.

ProtoView is no stranger to the object-based, component market. They also market ActiveX components that can be used with Microsoft Visual Basic, Internet Explorer and any other ActiveX Java Virtual Machine.

With ProtoView's release of JSuite, they have successfully raised the bar on usable JavaBeans. JSuite consists of five main JavaBeans components with over a score of different API functions. These components are CalendarJ, DataTableJ, TabJ, TreeViewJ and WinJ Component Library.

CalendarJ
Have you ever had to write a scheduling program or appointment manager and wanted to include a calendar? Even if you haven't, you've probably had to deal with a date field and would have liked to attach a calendar to a button. The CalendarJ Bean is made up of two different Beans, Calendar and DatePlus components. The Calendar component gives you the ability to display a single month calendar with dropdowns for changing the month and year. It also allows you to display a calendar with three, six, or all twelve months on one form.

The DatePlus component is designed to display and edit a text string that represents a date. Built into the component is the ability to validate the date your user enters in without having to program a date validation routine. For example, if they enter 02 in the month field, the component will not allow you to enter 29, 30, or 31 for the day. (Note: It will allow you to enter 29 assuming the year is a leap year.) Also built into the component is reuse of the Calendar component in the form of a dropdown calendar. When your user clicks on the button, you can display a one, three, six, or twelve-month calendar. When the user selects a date from the calendar, it will display the selected in the DatePlus field.

DataTableJ
Displaying information in a tabular format is very common. This component is more extensible than your average "grid" component. Most grids allow you to add data to the grid, resize rows and columns and probably colors of rows and columns. The DataTableJ allows for in-cell editing, check boxes within the cell, dropdown list boxes, graphics within a cell and more. With all this extensibility, you might think it was a difficult object model to work with. This is not true. It was very easy to add and update information. This version has full JDBC support and dbAnywhere object libraries (Visual Cafe Support) built into the component.

TabJ
Ever since Quattro Pro for Windows, the use of tabs has been very prevalent in Windows applications. This component allows you to easily segment your information into logical groups. The tab placeholders can be placed along any side of the tabs: left, right, top or bottom. You can place any number of tab placeholders on the tab component. If all the tabs can't be viewed on the form at one time, a navigation bar is provided to slide back and forth through the tabs. One caveat is that this component is only available for JDK 1.1 environments.

TreeJ
The tree-type display structure is not a new idea, it's just that Windows 95 made it popular. Normally, most WebArchitects might attempt to construct this functionality through JavaScript. If you like a challenge, go right ahead, but why should you when you have a fine component like TreeJ? TreeJ allows you to create, expand and collapse the structure by pressing the + and - buttons. You can assign any 16x16 pixel icon you like to be displayed on the tree's node. You can edit a node's description either in-line like Windows Explorer or through a text box like Windows Registry.

WinJ
The WinJ components consist of 13 different Beans ranging from Buttons to Time display controls. What sets these components apart from other objects that come with your Java development environments? It's their extensive customization. For each component, you can change the component's borders (width, type and bevel), drop shadows around the components, font style and display background.

What's not provided by most Java development environments is the ability to change the looks of most components. WinJ Buttons can look rectangular, circular or square with images. There are components that allow for different types of data entry, like currency, mask edit for Social Security or phone numbers and various date and number entries.

Ease of Use
The object model for these Beans has been thought out very well. The methods and procedures are clearly documented in the HTML-based help files. If your Java development environment is JavaBean-compatible, like SuperCede and Visual Cafe for Java, the use of these Beans is even easier. You can drag the component you want on to your form and modify the Bean's properties in a custom dialog box. Figure 1 illustrates SuperCede diplaying Properties window of the PVCalendar Bean. When you press the Customize button at the button of the Properties window, you see the JSuite's implementation of the Properties windows, as shown in Figure 2.

Figure 1
Figure 1:

Figure 2
Figure 2:

Documentation
Don't expect a thick manual when you purchase these components because ProtoView ships the documentation on HTML pages. It is very advantageous to ProtoView because they can provide you with an updated document when there is a change to a component without having to mail out new manuals. This can be frustrating for you, the developer, because HTML documents are great for the Web but can be cumbersome for component documentation.

Finding information in a manual isn't always easy but at least printed information has an index to rely on. HTML documents rely on hypertext linking which doesn't always translate well to development documentation. It would have been a better service to provide that documentation in a PDF (portable document format) file. That way, searching for information can be more accurate and printing out information can be more exact.

Conclusion
As part of an applet, they don't take a long time to initialize and start over a standard 28.8 modem connection. The best part is they are written in "100% Pure Java". This is an important issue to some, but a bigger concern is whether they will run in both Navigator/Communicator and Internet Explorer and they do. As the JavaBean market starts to grow, it's anyone's guess when it will grow as exponentially as the Visual Basic component market. In the here and now, the JavaBeans found in the JSuite tool set are definitely components to be looked into. They are very rich in features and have a lot to offer any Java developer. Whether you purchase the JavaBeans separately as needed or purchase them as the suite, you won't be disappointed.

About the Author
David Jung is a senior programmer analyst for a national medical center in Southern California. He is a key architect for all client/server development for the organization. He is also co-author of several Visual Basic books, including "Visual Basic 5 Client/Server How-To" and "Visual Basic 5 Superbible Set" (Waite Group Press). David can be reached at [email protected]

 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.