Javelin  TM
The Worlds Slickest and Most Intuitive Graphical 
Object Oriented Development Tool for JAVA
NOTE: readme.doc and readme.txt have the same content. One is an MS Word 
document which can be read by WordDoc or MS Word and one is a plain text file 
which you can read with notepad.exe
1. INTRODUCTION	2
2. HISTORY	2
3. PRICING AND ORDERING	2
3.1. PRICING	2
3.2. HOW DO I PURCHASE MY COPY?	2
3.3. DISCOUNTED STUDENT PURCHASES	3
4. REQUIREMENTS	3
5. INSTALLATION	3
6. NEW FEATURES	3
6.1. VERSION 5.00	3
6.2. NEW SINCE VERSION 4.46	4
7. GETTING STARTED	5
7.1. FEATURE OVERVIEW	5
7.2. QUICK START TUTORIAL	5
8. JAVELIN FEATURES	5
8.1. LONG FILENAMES	6
8.2. CODE GENERATION	6
8.3. COMPILING JAVA SOURCE FROM JAVELIN	6
8.4. RUNNING YOUR JAVA PROGRAMS	6
8.5. IMPLEMENTS	6
8.6. ASSOCIATIONS	6
9. NOTES FOR NT 3.5X USERS	7
10. TRADEMARKS	7



1. Introduction
Javelin was the first to bring truly graphical object oriented development to Java developers. Step 
Ahead Softwares commitment to innovative reasearch and development ensures that Javelin users are 
working with the most advanced, quality tool money can buy. Users deal with classes as icons and 
rarely concern themselves with the underlying text files. Improved productivity through reusability, 
automatic documentation, an uncluttered workspace and full support of the object oriented 
programming model makes Javelin the first choice for both beginners and experienced Java 
developers alike.
Step Ahead Software have taken a unique evolutionary approach to the development and release 
strategy of Javelin. Rather than releasing major revisions once or twice a year we develop a small 
group of new features and test them incrementally so that releases are more frequent. This brings 
newer features to users in a much shorter time frame. Distribution via the internet makes this 
approach possible. Many minor upgrades can be downloaded and used free of charge by those who 
have already purchased a license. Certain releases with major new features will require an upgraded 
license to be purchased and a new password will be provided. Existing users can upgrade their 
licenses at heavily discounted rates. When upgrading to a license users must quote their existing serial 
number. Part of the license agreement forbids giving access to or otherwise making available your 
serial number or password to another person by any means.
2. History
Javelin is a version of the internationally successful Visual Classworks graphical object oriented 
development for C++ created by Step Ahead Software Pty Ltd. Visual Classworks generates and 
manipulates C++ code via the graphical user interface. Javelin works the same as Visual Classworks 
except that it has a JAVA code generation engine instead of a C++ code engine. For this reason the 
two products are very similar. In fact they share much common code. When we add enhancements to 
Visual Classworks/C++ these will be automatically incorporated into the Javelin product and available 
in the next version.
3. Pricing and Ordering
As distributed from our site or other sites this evaluation version of Javelin will not allow projects to 
be saved and has the import feature disabled. When you purchase a user license you will promptly 
receive your serial number and password via email or fax when you purchase your copy. This will 
unlock the save and import facilities, turning your evaluation into the full professional edition.
3.1. Pricing
Javelin pricing information is contained in the file order.txt. Javelin is priced so well that it smashes 
apart the price/performance barrier for tools of this nature.
3.2. How do I Purchase my copy?
When you purchase your copy of Javelin you actually receive a serial number and password which 
convert your evaluation copy to a licensed real copy. See order.txt for pricing information. We 
accept VISA and Mastercard payments. To order your password and serial number do one of the 
following:
  If you are located in USA or Canada phone TOLL FREE 800 210 942.
  If you are located outside USA and Canada phone +61 2 477 3398 
  Fill out the order form in order.txt in the C:\JAVELIN directory or the directory to which you 
installed Javelin and fax it to +61 2 452 3363.
You can also visit our Web site http://www.ozemail.com.au/~stepsoft for ordering information.
3.3. Discounted Student Purchases
Understanding that many students experience financial strain while studying we provide a discounted 
student purchase facility. Students may purchase a license for the professional edition at a reduced 
rate (see order.txt). To be eligible to receive a discounted student purchase and to avoid inelligble 
people taking advantage of the discounted student purchase you must:
  Be a student at an educational institution; and
  Provide the proof of your being a student, eg., photocopy of student card or letter on university 
letterhead.
4. Requirements
You will need:
  Windows 95 or Windows NT. The javac compiler and appletViewer are 32 bit applications and 
will not work on Win 3.11. On Windows 95 and Windows NT Javelin allows long filenames for 
the class files.
  Suns JDK (Java Developers Kit). This contains the compiler and other tools you may find useful. 
The JDK is available from Suns site: http://java.sun.com
  3 MB hard disk space on your PC for Javelin plus whatever is required for Suns JDK.
5. Installation
Choose Start|Run and enter setup.exe or at the DOS prompt in Win 95 just type setup when you are in 
the directory containing the decompressed distribution files.
If you have any questions please dont hesitate to email us at stepsoft@ozemail.com.au We pride 
ourselves in being keen to turn valuable user feedback into better products.
6. New Features
6.1. Version 5.00b
6.1.1. Class Browser
You can now search for classes in a class list box. From there you can also get to the details and 
members dialog box for each class. In addition hitting the Show button will focus the design slate on 
the current class.
6.1.2. Import Facility
Makes it easy to import your existing Java code or sample or tutorial code into Javelin. You can 
import classes as library (no code generation) or user classes (a new source file will be created and 
from that point changes made via Javelin will be reflected in the new source file).
Be sure to read up on importing in the online help.
6.1.3. Improved Performance
The slickest and fastest graphical environment for Java just got slicker! Javelins efficiently written 
code has always resulted in excellent performance even on the low end 80386 PCs - now its even 
quicker!
6.1.4. New Enhanced support for Interfaces
Version 4.49 now supports the direct creation and modification of interfaces. They are drawn 
differently to classes. Interfaces are displayed with a notch in the top right corner. Only static 
variables and abstract methods can be added to an interface as interface methods can never have code 
associated with them. Instead the methods declared in an interface must be coded by classes that 
implement the interface.
To create an interface right click on empty space in the design slate and select Add Interface. The 
dialog box used for interfaces is similar to that used for classes.
When reading projects from previous versions of Javelin any implements relationships created will 
be automatically converted.
6.1.5. Constant Data Members
Java supports constants in a simple and typesafe manner. Constant data members are variables (class 
data members) whose value can not change from its initialized value. Javelin now explicitly supports 
this feature. To mark variables in a class as constant simply check the Constant Value check box.
6.1.6. Additional Example projects
Introduction to OO project. This project runs through a quick introduction to OO programming.
Interfaces. This project describes Java interface and how they relate to normal classes.
6.1.7. For advanced users
6.1.7.1. Static Initializers
Java makes it possible to provide a method for each class that is executed whenever your applet or 
application starts. In Java this method is static and has no name or type. Javelin allows you to create a 
single static initializer for each class. To do this create a method with no characters in the name field 
and make the method static. Javelin allows only one static initializer per class. NOTE: see the import 
section in online help for more information regarding importing of static initializers.
6.1.7.2. Throws Statement
Version 4.49 now allows advanced users to make a throws statement after a methods argument list. 
Type in the names of the exceptions and separate them with ,. If this is left blank, the default, then 
no throw clause will be generated.
6.2. New Since Version 4.46
6.2.1. Customizable Color Scheme
Added color setup so that users can customize the design slate colors. The background color must 
always be a solid color (as opposed to a dithered color) so on a display with a 256 color palette the 
requested color may not always match the actual color used for the background. The display color for 
the other configurable items may be dithered. To access the feature Select  Options|Colors. The 
options are save in the Javelin.ini file under [System] section under the sc entry. sc stands for 
system colors.



6.2.2. Enhanced In Built Editor
6.2.2.1. New Menu
Added Menu to the inbuilt editor to do things like cut/copy/paste/delete find/find again/replace etc., 
Can be accessed via standard Windows hot keys:
Command
Hot Key

Cut
Ctrl+X

Copy
Ctrl+C

Paste
Ctrl+V

Delete
Del

Find
Ctrl+F

Find Again
F3

Replace
Ctrl+H

6.2.2.2. Position and Size
The position and size of Inbuilt editor is now stored whenever you change it so that it opens at the 
same position at which it was last opened.
6.2.2.3. Fixed Focus Problem
Fixed problem with lost focus when focus shiffts to and from another application when in inbuilt 
editor. This most often occured when using Ctrl+F1 in the in built editor to open a help file setup by 
the user.
7. Getting Started
7.1. Feature Overview
For a very quick start you can open \Javelin\features\feature.vcw and then 
\Javelin\features\toolbars.vcw. These contain quick start instructions.
7.2. Quick Start Tutorial
We recommend that you have a quick flick through the main sections of the help file (oodhelp.hlp) 
and then work through the getting started tutorial (tut.hlp). Double click on their names in the 
windows explorer to open them.
We will be providing examples of Javelin projects on our web site so make sure you make 
http://www.ozemail.com.au/~stepsoft a regular port of call as you cruise the infobarn.
Javelin projects (after serial number and password are obtained) can be saved at anytime using 
File|Save Project. In addition they are always saved when closed. It is good practise to save your work 
regularly to guard against power failures etc.,
8. Javelin Features
This is a list of features that apply to Javelin and which are not applicable to the Visual Classworks 
for C++.
8.1. Long Filenames
In Javelin classes are stored in a file named <classname>.java. This is how the Java compiler expects 
them. You are not restricted to short DOS filenames for the names of your classes or pathnames.
8.2. Code Generation
JAVA files (.java) are automatically created when you create a class in Javelin. As you make changes 
they are automatically updated to reflect the changes made from within Javelin. There is an option to 
force the code for selected classes or all classes to be generated. This is only ever needed if you have 
changed the copyright message in Project|Options or for some reason have deleted or lost one or more 
of your .java files. Regenerating will then recreate the files from scratch BUT with no code in the 
function bodies.
IMPORTANT: Javelin stores all design details, such as class names, method names and types etc., in 
its project file (.vcw). It does not, however, store the code in method bodies. This is stored in the .java 
files themselves. If you delete or lose a .java file then the source code for its methods will be lost. In 
this event you can regenerate to recreate skeletal code but method bodies will be empty.
8.3. Compiling Java Source From Javelin
Users can instruct Javelin to call the javac compiler directly. It will automatically attempt to compile 
all of the files for classes that have been modified since they were last compiled. Note: This option 
only works for Win95 and Win NT environments.
To run the compiler press the left most button in the tool bar. If you experience problems then ensure 
that your PATH environment variable (in autoexec.bat) includes the directory containing the javac 
compiler (would typically be c:\java\bin but it depends on where you installed the JDK)
A DOS window will appear and the javac compiler will compile those files that need to be compiled. 
If there were errors then Javelin will bring up notepad with a file containing the errors.
8.4. Running Your Java Programs
You can specify the command that is issued when the button second from the left is pressed. By 
default it will call the appletViewer executable passing it the name of the html file index.html. NT 
3.5x users should read the Note below for how to tailor this feature for use under NT 3.5x. You can 
change this by adding an entry to the visclass.ini file under [Options] section called run. For example 
to change the run option so that you execute the java interpreter (java) instead you add or change the 
run option to:
run=java myclass.class
8.5. Implements
C++ does not have a concept of an interface. Java does. When creating relationships between classes 
you are asked to choose Inheritence or Implementation. Other relationships such as one-to-one, one-
to-many are called association are supported in the professional version only.
An inheritence relationship is shown as a line with a solid arrow drawn from the subclass to the 
superclass. An implements interface relationship is drawn as a line with an open arrow drawn to the 
interface class from the class that is implementing the interface.
8.6. Associations
Javelin supports the creation of associations graphically. Associations are the one-to-one, one-to-many 
relationships that exist between entities in a system. These relationships are as important as 
inheritance and interface implementation relationships.
If you are a professional object oriented modeller then associations allow you to perform complete 
business modelling in the design slate.
9. Notes for NT 3.5x users
Due to slight incompatibilities between Windows 95 and Windows NT 3.5x users must make two 
simple changes in order to invoke the appletViewer from the tool. See 
http://www.ozemail.com.au/~stepsoft/javhints.html for more information. This problem dissappears 
under Windows NT 4.x.
10. Trademarks
JAVA is a registered trademark of Sun Microsystems. All other trademarks are the property of their 
respective owners. Javelin is a trade mark of Step Ahead Software Pty Ltd.



3



