
                        VisualAge(R) for Java(TM)
                             Version 3.0

                       Visual Composition Editor

                            RELEASE NOTES

Table of Contents
-----------------

1.0 Limitations and known problems
    1.1 Running main() for version 1.0 classes
    1.2 Morphing
    1.3 Constructing visuals from source with array properties        
2.0 Hints and Tips
    2.1 Delete main() on copied/moved/renamed classes
    2.2 Using and manipulating JApplets
    2.3 Using a JTable in a GridBag layout
3.0 Using visual composites from previous releases of VisualAge    
    3.1 Changes to code generation
    3.2 Change to icon property setting 
4.0 New quick form capability

1.0 Limitations and known problems
----------------------------------

1.1 Running main() for version 1.0 classes

Main(String[]) methods generated in VisualAge for Java, Version
1.0 for classes that subclassed anything other than java.awt.Frame
attempted to construct a TestFrame class. The name of the package 
in which TestFrame is located has changed in version 3.0. 

To update the package name of this class follow these steps: 

1. Delete the main(String[]) method from your class.
2. Open the class in the Visual Composition Editor. Select Bean - 
Re-generate Code. A new main (String[]) method is generated.

If you do not follow these steps and you elect to run your class 
from main(), you will not be able to close the frame. As a 
workaround, you can open the debugger and terminate the thread 
for the class.

1.2 Morphing

When morphing beans, the order of connections from the bean may 
not be maintained. Select Reorder Connections From from the pop-up
menu of the morphed bean, and reorder them.

1.3 Constructing Visuals from Source with array properties

When reconstructing the visuals of beans that possess array type
properties, be sure that the leaf type has a registered property
editor.  Otherwise, VisualAge will not be able to generate the
correct initialization code for that property. You will have to enter
your own codestreams into the array editor.

2.0 Tips and Hints
------------------

2.1 Delete main() on copied, moved, or renamed classes

If you have copied, moved, or renamed a visually composed class, 
delete main() and save the class. By deleting main(), you remove 
obsolete code that otherwise is not overwritten. Once the obsolete
main() has been deleted, VisualAge recreates a valid main() when
you save the class.

2.2.Using and manipulating JApplets

To add a JMenuBar to a JApplet you must first Drag its contentPane
to the freeform.  This will allow you to Drop the JMenuBar onto the 
JApplet and not the JPanel that is the contentPane.

If you have subclassed a JApplet and want to change its size or
position on the Visual Composition page, you must make sure that 
you select and manipulate the JApplet, not its contentPane. 
Since the JApplet's contentPane completely covers the JApplet, 
you should select the JApplet using the Beans List. 
 
2.3 Using a JTable in a GridBag layout

When a JTable is dropped into a JContainer that is using a GridBag
layout, it becomes very large because a GridBag layout sizes
components based on their preferredSizes. The preferredSize of a
JTable is hardcoded by JavaSoft to be 450x400. To decrease the 
size of the JTable alter its preferredScrollableViewportSize property.

3.0 Using visual composites from previous releases of VisualAge
---------------------------------------------------------------

3.1 Changes to code generation 

Generation of the main( ) method has changed. Because VisualAge 
does not regenerate this method if it already exists, you must
delete the previously generated method and regenerate code for
your composite. Generation of code to handle events has changed, 
leaving many generated methods in your class that are no longer
called. To give you the opportunity to retrieve any code you might
have added to these methods by hand, VisualAge does not delete
these methods automatically. After retrieving any handwritten code 
that you want to keep, delete these obsolete methods and regenerate
code for your composite. 

3.2 Change to icon property setting 

Different code is now generated for visual beans that have their 
icon property set. To ensure that the proper code is generated for
your visual composite, open the property sheet for each bean that 
specifies an icon and re-select the icon. Click OK and save the bean. 

4.0 New quick form capability

A quick form represents a way for you to very quickly lay out a GUI panel
that corresponds to the properties of a nonvisual bean. You specify the
visual bean to use for each property; VisualAge drops the beans and
connects them to the nonvisual bean.

By default, VisualAge sets up certain visual beans for use as quick-form
components for the base data types. To use something other than the default
components, you can create and then register your own quick form for a
particular data type.

You can also register composites as quick forms for use with properties
that have an object type.

To create a layout with quick form from a nonvisual bean, perform the following 
steps:

  1. Right-click on the bean and select Quick form from the pop-up menu
     that appears. The Quick Form SmartGuide opens.

  2. From the Select a parent for the quick form list, select where you
     want VisualAge to drop the quick-form components. 

  3. Specify which quick form to use, as follows:
        o If a quick form is already registered for this type of nonvisual
          bean, the Use an existing registered quick form radio button is
          preselected. Select one from the list.
        o If the component that you want to use already exists but is not
          registered for this type, register the quick form by clicking
          Manage Quick Forms. The Quick Form Manager window opens. 
        o Otherwise, click on Create a new quick form.

  4. Below the Registered quick forms list, click the check boxes that
     control which registered quick forms appear in the list.

  5. From the properties list, click on the name of any property that you
     do not want included in the quick form.

  6. For each property that you do want to include, make a selection from
     the Registered quick forms list.

  7. At this point, you have a choice to make, as follows:

        o To accept the default layout without saving the quick form, click
          Finish. VisualAge drops the beans and draws the connections in
          the composite that you are editing. You are now done.

        o Otherwise, click Next to continue with this procedure.
          The Quick Form Layout page opens. As you edit layout settings in
          this window, the Preview pane shows you how they will affect the
          finished quick form.

  8. To configure how many properties are laid out in each row, select a
     value from the Number of columns per row list.

  9. Select a layout style, as follows:
        o To use GridBag layout, click on GridBag into panel. In this case,
          VisualAge drops a panel into the parent of the quick form, sets
          the panel to GridBag layout, and drops the individual quick-form
          components into the panel.
        o If the parent of the quick form is set to <null> or GridBag
          layout, you can choose Free flow into parent. In this case,
          VisualAge drops the individual quick-form components directly
          into the parent.

 10. To reorder an item in the Properties to quick form list, select a
     property and click the Up or Down buttons.

 11. Make minor adjustments in the Property quick form details group box,
     as follows:
        o To include a label for the quick-form component (for example, a
          label to accompany a text field), make sure that the Include
          label check box is selected.
        o Set alignment for the label: Click the Top or Left radio button.
        o Edit the text for the label as appropriate.
        o If the quick-form component for a particular property must span
          multiple columns, select an appropriate value from the Columns to
          span list.

 12. At this point, you have a choice to make, as follows:
        o To create the quick form without saving it as a separate class,
          click Finish. VisualAge drops the beans and draws the connections
          in the composite that you are editing. You are done!

        o To save the quick form as a separate class and register it right
          now, click Next. Continue with the rest of this procedure.

 13. Click on Save quick form.

 14. Specify a project, package, and quick-form class.

 15. Give the quick form a name.

 16. (Optional) Provide a one-line description of the quick form.

 17. If you do not wish to register the quick form now, make sure that
     Register quick form is not selected. If you wish, you can register the
     quick form separately.

 18. Click Finish.




