JClass BWT General FAQ

Updated : Feb 26, 1997

The latest version of this document can always be found at KL Group's Website at http://www.klg.com/jclass/bwt/bwtgfaq.html.

Questions:

  1. What is JClass BWT?
  2. What is the difference between BWT V2.0 and V2.0T?
  3. What components are part of BWT V2.0?
  4. What are the main features of BWT compared with AWT and other similar collections of Java components?
  5. Why use BWT when I have some of these controls already in AWT?
  6. Why don't some/all of the examples on the Web site work?
  7. Why does it take a long time for the demos to download?
  8. Why do the demos run slowly?
  9. Why do the GIFs in the demos appear with a red background?
  10. Can you configure the node images of the Outliner?
  11. Does the Tab Manager support multiple orientations?
  12. Can I use BWT controls in an IFC environment?
  13. Can I build applications with BWT and distribute them freely?
  14. How many BWT licenses do I need to buy?
  15. Can I use BWT controls embedded in JClass LiveTable Pro cells?
  16. Can you swap AWT components with their JClass BWT equivalents?
  17. Can you use BWT components in Java GUI builders?
  18. Can you add images and URLs to BWT components?
  19. Does JClass BWT provide any new layout managers? Do JClass BWT components work with current layout managers?
  20. Are BWT GUI components provide flicker-free repaints?
  21. How does the JClass BWT resource mechanism work? What are the benefits of using it?
  22. Where can I get more information on AWT and Java?
  23. What is the basic event handling mechanism of BWT and how it integrated with AWT? What are the benefits of this type of event processing?
  24. Can I use BWT components on a Java workstation?
  25. Why is BWT only $49?
  26. Does JClass BWT come with source?
  27. Why don't the BWT components repaint properly under Windows?
  28. What support options are available with JClass Java components?
  29. What platforms are JClass BWT components qualified on?
  30. What is KL Group?
  31. How do I contact KL Group?

More FAQs are available for JClass LiveTable Pro and JClass LiveTable Applet.


Answers:

About BWT What is JClass BWT?

JClass BWT is a GUI toolkit which extends and enhances the standard Java GUI toolkit (AWT) included with the Java Developer Kit (JDK). As experienced Java developers already know, developing GUI applications with Java is a time consuming and often frustrating task. There are any number of problems associated with AWT, from the lack of an effective API to problems running applications across platforms.

BWT solves the problems associated with AWT by providing a collection of controls that is a superset of the components and the functionality provided in the standard toolkit. To address the problem of creating high quality cross platform applications, BWT implements a "peerless" user interface, meaning that BWT components look and feel the same way on any platform - from Windows to Macintosh to Motif. BWT solves the developer productivity problem by providing a rich API with dynamically controllable properties.

Differences Between
BWT 2.0 and 2.0T
What is the difference between BWT V2.0 and V2.0T?

BWT 2.0 has been written strictly to the new Java Beans specification incorporated into the JDK 1.1. BWT 2.0T is the Transitional Bean version (the "T" in "BWT 2.0T") of BWT that works with both the JDK 1.0.2 and with the JDK 1.1.

Essentially, the Transitional Bean version of the JClass products works under the JDK 1.0.2 and implements the JDK 1.1 event handling model with a callback mechanism, similar to that used in previous versions of BWT. This means that if you develop applications using JDK 1.0 and BWT 2.0T, you can later move to JDK 1.1 (and BWT 2.0) without code changes. However, note that you cannot create true Java Beans using the Transitional Beans version of BWT.

BWT GUI Components What components are part of BWT V2.0?

BWT consists of premium components which do not exist in AWT :

  • tab manager
  • outliner (tree)
  • multicolumn list
  • header
  • icon creator
  • combo box
  • spin box
  • aligner layout manager
  • progress meter
  • split window and separator
  • arrow buttons

BWT also contains enhanced components that extend the AWT :

  • button
  • multistate toggle button
  • scrollbar
  • list
  • checkbox
  • label
  • group box
  • text field
  • text area
Main Features What are the main features of BWT compared with AWT and other similar collections of Java components?

JClass BWT provides new or improved versions of various AWT components and containers. JClass BWT provides the following features:

  • it is written entirely in Java
  • components and containers are easier to use and offer more features than their AWT equivalents
  • a uniform "look-and-feel" across all platforms
  • ability to create Applets incorporating JClass BWT components whose attributes can be set from either HTML or parameter files
  • GUI components are double-buffered, providing faster on-screen redraws
  • unlike AWT components, BWT components are easily subclassed
  • provision for event tracking enables Java programs to easily notify and interact with BWT components
  • better keyboard traversal and focus management.
Features and Benefits Why use BWT when I have some of these controls already in AWT?

AWT is the standard Java GUI toolkit and just like BWT it is subclassed from Component. There are a number of deficiencies with AWT, some of which are summarized in the article Java's Achilles Heel including:

  • many documented bugs, especially with the Windows implementation
  • components are not subclassable
  • non-uniform API
  • only parent can trap events

There are many features of BWT that are not supported by AWT which include :

  • focus control
  • consistent look and feel across platforms
  • dynamically change resources via HTML and JavaScript
  • support for images and URLs
  • support for finely granular color and font control

Note that BWT components support a similar API to AWT controls, making it easy to replace. They may also co-exist with AWT controls in the user interface in order to provide a richer presentation.

Problems with demos

Why don't some/all of the examples on the Web site work?

There seems to be platform and browser specific variability in many Java Applets. For best results, use Netscape Navigator 3.0 or Microsoft Internet Explorer 3.0.

Make sure that Java is enabled in the browser. If you have a long-running browser session, or many browser windows up, exit the browser, start a new one and try the demos again.

Make sure that you allow plenty of time for the Java classes to be downloaded and interpreted. This can require as much as 10 minutes if there is a slow network connection or if your browser does not have a JIT Java interpreter.

If none of the examples seem to work, it could be due to the fact that conflicts between the old and new demos are causing problems. If you bought an earlier version of JClass BWT and a statement in your CLASSPATH statement points to it, the two versions will interfere with each other and the examples will not run.

There is also the possibility that the code for an old BWT example still resides in the cache of your Web browser. The only way to ensure that this is not happening is to restart your browser.

If the problems persist, please let us know by sending an email with:

  • the URL of the problem,
  • your platform and O/S version, (i.e. Windows NT 4.0)
  • your browser and version, (i.e. Netscape 3.0)
  • the error messages/symptoms, (Netscape users: Options->Show Java Console; Microsoft IE: \windows\java\javalog.txt)

to jclass_support@klg.com. We appreciate the feedback.

Download time Why does it take a long time for the demos to download?

Although they load from within a browser, these demos are not Web pages, but Java applications. Like any applications that you wish to use for the first time, you must download them first. The download is automatic, but it will take a while to get it the first time. After that, if your browser caching is turned on, the Java demos should come up within a few seconds.

Java JARS will support a standard, compressed ZIP format for downloading Java applets which should be much faster than the current mechanism.

Currently, Netscape supports an "archive" format and Microsoft supports "CAB" files for sending Java applications as a single file rather than individually downloading each class.

Performance Why do the demos run slowly?

Make sure that you are running the most recent released version of Netscape Navigator or Microsoft Internet Explorer. These browsers are able to compile Java code on the fly, which makes the applications run much, much faster than previous versions. Still, running these demos using a browser across the Internet is the slowest way to use them. Running these demos locally or using Java utilities such as 'appletviewer' result in much better performance.

Once you've done something for the first time (like scroll a window) all subsequent scrolling will be faster.

GIF Images Fringed in Red Why do the GIFs in the demos appear with a red background?

This is a problem that has been noted whenever the demo programs are viewed through Internet Explorer 3.0. All of the images that have been inserted into the demo programs use transparent backgrounds. They appear correctly in Netscape Navigator, but are not rendered correctly in Internet Explorer.

Replace Outliner Graphics Can you configure the node icons of the Outliner?

Yes. Node images in the outliner may be .GIF files that you include by suppling their URL, or they can be in-memory bitmap images that are created dynamically in your application using the BWT Icon Creator class. It is also possible to add more than one .GIF file to a node, if necessary.

Tab Manager Orientation Does the Tab Manager support multiple orientations?

BWT V2.0 and V2.0T now support top and bottom orientation. In addition to the regular, rectangular tab styles, you can now implement slanted tab styles.

BWT and IFC Can I use BWT controls in an IFC environment?

No. BWT components, like all JClass components, are based on core Java technology, just like AWT. Netscape's Internet Foundation Classes are based on NetscapeONE technology. It is not yet clear to us if and how these technologies can work together. We are tracking this issue. Your feedback is welcome.

Distributing Applications Can I build applications with BWT and distribute them freely?

Yes, all JClass products may be distributed royalty-free when they are part of your application. If you wish to bundle BWT controls with a development environment, contact KL Group for details of reseller and OEM programs.

JClass Licensing How many BWT licenses do I need to buy?

JClass BWT is licenses on a per developer, per workstation basis. That means that if you have 5 developers working with BWT, you require 5 BWT licenses. If you have only 2 developers working with BWT source code, you would purchase 2 BWT Source licenses. Gold support would be purchased for each developer.

BWT and LiveTable Can I use BWT controls embedded in JClass LiveTable Pro cells?

Yes. JClass LiveTable V1.0.3 (and the forthcoming LiveTable V2.0.0) support BWT components as it supports AWT components.

Replacing AWT with BWT Can you swap AWT components with their JClass BWT equivalents?

Yes, and the process is quite simple. BWT was designed to enhance the look-and-feel of AWT while maintaining AWT backward compatibility. In many cases it is possible to simply swap the names of current AWT components (for example: Button) in your current Java applications with their BWT equivalents (i.e. JCButton).

BWT, Beans and
Java GUI Builders
Can you use BWT components in Java GUI builders?

Current Java GUI builders have to introduce a mechanism that allows for the inclusion of third-party components. When Java Beans are implemented, it will enable the ability to readily add additional components within GUI builders.

However, in the meantime we are working with GUI builder manufacturers to include the ability to add BWT components within their programs. In the meantime, we have instructions located at the KL Group Web site on how to add JClass BWT components to various toolkist.

Images and URLs Can you add images and URLs to BWT components?

Yes. Most JClass BWT components support a rich text format called "JCString", which allows a mixture of hypertext, images and text within BWT components. Images can also be added to BWT components as objects which are created programmatically with the icon creator class. Text can also appear in a variety of colors, fonts and styles, including underline and strikeout.

Layout Managers Does JClass BWT provide any new layout managers? Do JClass BWT components work with current layout managers?

Yes, JClass BWT provides a new layout manager called JCAlignerLayout. JCAlignerLayout provides a simple way of arranging components in a columnar fashion that allows for an associated label. It provides a simple way for programmers to lay out a vertically arranged group of control components, each with an associated label (or other component) placed to its left.

BWT components work with any layout manager that works with AWT.

Double Buffering Do BWT GUI components provide flicker-free repaints?

Yes, BWT GUI components are double-buffered, providing cleaner on-screen redraws than their AWT equivalents.

BWT Resources How does the JClass BWT property mechanism work? What are the benefits of using it?

JClass products use the idea of "properties", which enable programmers to set certain display and functional attributes for a Java applet from within an HTML file. This approach offers the following benefits :

  • Speed - changes can be seen immediately, instead of having to be compiled
  • Reuse - attributes and behavior may be changed dynamically at runtime

The property mechanism allows the user to read component parameters from within an HTML file. The mechanism is not hierarchical; instead it is tag-based. An applet is constructed incorporating JClass BWT components that contain property settings. The compiled applet obtains its operating parameters from the NAME and VALUE elements of the <PARAM> tag in an HTML file. Many JClass BWT properties can be set within HTML files in this manner.

The property mechanism does not degrade the performance of any Java applets you create using JClass BWT components. By default, programs containing BWT resources do not search for an HTML program to retrieve parameters -- they will only seek external attributes when explicitly told to do so.

AWT Information Where can I get more information on AWT and Java?

The best reference guide for AWT is Graphic Java: Mastering the AWT by Geary and McClellan.

Java Workstation Can I use BWT components on a Java workstation?

Because BWT is supported in the core Java environment, you will be able to run applications that use BWT 2.0T components on any platform that supports a Java Virtual Machine that executes under JDK 1.0.2, and BWT 2.0 components on any platform that supports a Java Virtual Machine that executes under JDK 1.1. Since Java workstations support both standard HTML via a browser, as well as standalone Java applications, your existing Web pages and applets should continue to execute in this environment. More information will be made available as these devices are released commercially.

Inexpensive Why is BWT only $49?

Due to the many problems associated with developing GUI applications with AWT, BWT is priced low to make it accessible to all Java developers. At US $49, there is no excuse for a developer to waste hours of valuable time struggling with inferior toolkits, often hundreds of dollars more.

BWT Source Code Does JClass BWT come with source?

The US $49 Bytecode version includes source code for many examples and demos, but not the component themselves. Complete BWT source code may be purchased for US $199.

All JClass products may be purchased from the online order system at KL Group or fax us an order form. Online orders come with a 5% discount for a limited time only.

JDK 1.0.2 Repaint Bug Why don't the BWT components repaint properly on the Windows platform?

If you run a Java application with multiple windows on Windows NT, and if the "show window contents while dragging" option is enabled, Java windows will not repaint properly. The repaint problem only occurs for Java windows running in the same Java VM. Repaint is fine for any regular Windows application. It is also fine for any Java app running in another VM.

This problem occurs for any Java applet or application, not just JClass applets or applications. You can repeat this problem with the standard demos released with JDK 1.0.2. The problem only occurs with painted regions of an applet - peer components will update properly.

This problem has been fixed in JDK 1.1.

The workaround is to disable the "show contents while dragging" option.

Support Options What support options are available with JClass Java components?

All JClass products come with standard support which includes access to the community section of the web site, a moderated Email list, and technical FAQ. Gold Support may be purchased for $350 US which provides access to KL Group's world-class customer service via phone and email, as well as providing an annual software subscription.

Platforms What platforms are JClass BWT components qualified on?

JClass BWT has been qualified on :

  • Netscape 3.0 for Windows 32, UNIX, Macintosh
  • Microsoft Internet Explorer 3.0 for Windows 32
  • SUN JDK 1.0.2 for UNIX, Windows 32
  • Sun JDK 1.1 for UNIX, Windows 32
About KL Group What is KL Group?

KL Group was founded in 1989 by Greg Kiessling and Edward Lycklama. KL Group released the world's first commercial GUI toolkit extension for X Windows in January 1991.

The company's vision has always been "to make software developers more productive". Over the past seven years, the company has successfully brought to market many innovative and productivity-enhancing products.

Product quality and innovation continue to be the company's highest priorities. KL Group reinvests heavily to develop advanced tools for the X Windows, Microsoft Windows and Java communities.

The software component industry, and in particular the GUI segment of the industry, has been rapidly growing for the past several years. One reason for this growth is that pre-packaged, pre-tested, well-engineered, low-cost software components help application developers build more applications, faster and less expensively than if they had to develop all of their code themselves.

Privately held, the company has posted an operating profit for the past 20 consecutive quarters, while maintaining a yearly growth rate of 50% or higher for every year since inception. In 1995 KL Group was recognized with a Canada Export Award by the Canadian Government.

KL Group's JClass components are designed to enhance Java and Web based application development. JClass LiveTable and BWT continue the KL Group tradition of delivering high quality software components and customer support to professional application developers.

More questions? How do I contact KL Group?
Telephone: (416)594-1026
Fax: (416)594-1919
Email: info@klg.com
WWW: www.klg.com

More ways to contact KL Group...


KLG Home | JClass Pro Home | BWT Demos | Purchase JClass