** ClassVista **

ClassVista is a Win32 application written using MFC which allows easy viewing of the
contents of Java class files. It displays all attributes of Java classes using a 
convenient tree view, and provides a disassembly of method byte code similar to that 
of javap. It also allows easy browsing of classes stored in compressed or uncompressed 
zip and jar files.

This software is freeware, although I would appreciate e-mail with thoughts for 
possible improvements, bug reports, or whatever.

ClassVista requires the MFC runtime DLL, mfc42.dll. I did not include this as part of
the installation due to its size (it's 919K). If you don't have this installed on your
system, you can probably download it from winfiles or other shareware site, or from
Microsoft's site. 

Note: ClassVista uses the zlib Zip inflation/deflation library.

** How to use ClassVista **

The program should be fairly self-explanatory, but here's some basic information on how
to use it:

To view a class file, select 'File', 'Open...', and browse for the file you want to 
view. Dropping files from the Windows Explorer will also work. If the class file is 
part of a jar file or a zip archive, open the archive to  reveal a tree view of its 
packages (if nothing appears in the opened window, there weren't any *.class files in 
the archive). Double-clicking on any of the classes (the little coffee cup icons) will 
open them. 

To open a class from the classpath by name, select 'File', 'Open class...' and type 
the name of the class to open in the displayed dialog. The name of the class should 
be as it appears in a Java source file, with the package name fully specified, eg. 
java.awt.Button. To modify the classpath used by ClassVista, select 'Edit', 
'Classpath...' To return the class path to its default setting (based on the 
CLASSPATH environment variable), press the Reset button. Note: there is no provision 
within ClassVista to modify the working directory.

ClassVista displays class files in a two-paned window. The left pane contains a tree
view of the class and its composite parts. Typically, this will include interfaces,
fields, methods, constant pool entries, attributes, and referenced classes, although
any of these (with the exception of constant pool entries) are actually optional.

Clicking on items in the tree view will display their contents in the right pane. The 
items with coffee bean icons are there to group related items, and do not themselves
have content, so don't be surprised if none appears when they're selected.

Double-clicking on an interface or referenced class item in the tree view will open that
class, assuming it can be found on the classpath.

ClassVista supports a couple of basic save as options, both of which save as text files.
The default option is pretty much just a dump of the information displayed in the UI,
with the omission of attributes and some other minor stuff. The other option is to save
as Jasmin format (Jonathan Meyer's Java assembler, http://cat.nyu.edu/meyer/jasmin). I
haven't tested this thoroughly, so use at your own risk.

Greg St.Pierre
gregstp@earthlink.net
