|
| |
JAVA: An Eventful Approach


Our approach to introducing programming using Java depends on a
library we have designed which provides:
- simplified support for
handling mouse events,
- a collection of classes for displaying simple
drawings that provides a more object-oriented programming interface than the
standard Java Graphics class, and
- facilities to simplify the
management of multiple Threads.
In designing this library we were
very conscious of the fact that the advantages of using a library are
offset by the disadvantage of hiding portions of "real Java" from
students. Accordingly, we carefully limited the scope of our
library. The event-handling features of our library are only used to
enable students to work with simple mouse events in the very first
weeks of the course. After that, students are introduced to standard
Java GUI components and standard Java event handling. We use our
graphics classes throughout the course, but their design deliberately
mimics the methods provided by the standard Graphics class. Almost all
of the Thread management functions we provide are transparent to the
students.
A
detailed description of the features of our objectdraw library
is available on our website in Javadoc format, and
in compressed form for download. See the
notes for information on converting from the older AWT version of
the library.
The current version of our library is available for download:
- Objectdraw version 1.1.2 jar file:
objectdrawV1.1.2.jar. Right-click (on Windows) or control click (on Mac) to
download the jar file. Save it as objectdraw.jar even if your browser attempts
to add a ".zip" suffix.
- When using newer versions of the objectdraw library (version 1.1 and
beyond), the static method Controller.getVersion() will return
a string describing which version of the library is being used.
Click below for instructions on how to
incorporate such a .jar file into a project created using a variety of Java IDE's.
To download a .rtf file of the instructions for a particular IDE, click on
the appropriate link. For those teaching AP CS courses, setting up your IDE
to use the objectdraw
library is exactly like setting it up to use the MBS library.
Information on using objectdraw from JCreator is available from Dave Wittry.
Using objectdraw with applications rather than applets
There is a simple way of using objectdraw with applications that is new with
version 1.1 and later of the objectdraw library. Under these version of objectdraw,
you can run extensions of WindowController (or Controller)
as applications by using a new method named startController.
This method is included in the Controller class (and thus is
inherited by WindowController).
To turn what would have
been an applet into a program that can also be run as an application, simply
add the following method to your class that extends Controller or
WindowController:
public static void main(String[] args) {
new MyClassName().startController(400,400);
}
In the above, MyClassName is a placeholder for the name of the class extending
Controller, while
the parameters (400,400) specify the size of the window desired.
Section 19.3 of the text explains how to write applications when using files,
and Appendix D.6 discusses how to modify applets to be run as applications in
standard Java. However, the advantage of the above method is that it requires the
least amount of change for using the programs included in the text. Thus
if your environment makes it difficult to run applets,
we highly recommend that you follow the technique explained above.
|