This material is based upon work supported by the National Science Foundation under Grant No. DUE-9950829.
Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).
JPT 2.5.0 is almost 100% compatible with JPT 2.4.0 but not quite. One
of the key forces leading to this release was the desire to permit a user
to define simple functions in the JPT interactive parser as well as well
as to enable variable definitions that may be either persistant or
temporary. This required refactoring of the parser classes and renaming
of the old AbstractParser class to be
BasePaser,
a class that is no longer abstract. All algorithmic code migrated down to
BasePaser
from class
JPTParser.
The purpose of
JPTParser
is now to define built-in functions, operations,
and constants. A new exponentiation operator denoted by a caret has been
added to class
JPTParser.
The class
SimpleFunctionBuilder
defines a GUI that permits a
user to define simple functions interactively and immediately test them
in an expression evaluation pane.
The class
SimpleFunctionBuilderWithIO
adds the ability to
save simple function definitions to disk so that these definitions may
be later recalled for use in interative expression evaluation.
The Java Power Tools enable the rapid development of Java graphical user interfaces with automatic error checking of all user input. By systematic abstraction (extreme encapsulation) that brings the central issues of GUI building to the forefront and hides all details that are purely technical, the Java Power Tools permit small GUIs to be built in minutes and large GUIs in an hour or so. These tools are particulary useful for faculty and students who wish to use GUIs but do not wish to spend a great deal of time on their creation. In recent enhancements to the tools, users may also paint shapes, images, and text with ease.
The Java Power Tools include the Java Power Framework that enables both instant experimentation and systematic testing. The JPF is so easy to use that freshman students may build simple experiments in the first weeks of a course. The JPF is also powerful enough that it scales to testing of large systems with both textual and graphical output and complex user interaction.
The Java Power Tools are 100% open source and may be used as a model of object-oriented design in upper level OO design courses.
Download the JPT Library: jpt.jar
Download the jpt.jar installation notes jpt_jar_readme.doc in Microsoft Word format.
Download the jpt.jar installation notes jpt_jar_readme.pdf in Adobe PDF format.
Download jpt.jar and the installation notes in zip format
Download jpt.jar and the installation notes in self-extracting exe format
Access the Annotated Java Power Tools Source Files online (strongly recommended)
Access the Alphabetical Java Power Tools Source Files online
Download all Java Power Tools Source Files in zip format
Download all Java Power Tools Source Files in self-extracting exe format
Access the Java Power Tools API documentation online
Download the Java Power Tools API documentation in zip format
Download the Java Power Tools API documentation in self-extracting exe format
Access the SUN Java 1.5.0 API Documentation online
Access the SUN Java 1.4.2 API Documentation online
The Java Power Framework or JPF is
designed to permit instant experiments using small methods,
quick unit tests of individual classes, systematic integration tests of
families of classes, and full tests of entire applications. A detailed
discussion of how to use the JPF is presented with the annotated
description of the
JPF Source Files.
In brief, the key idea is that the user can enter certain public methods
into a class that extends JPF and these methods will
automatically generate buttons in the JPF Button Panel that call
the corresponding methods when clicked. In this way, it is possible to
create tests and execute them almost instantly.
The Java Power Framework may be integrated with the support class
LookAndFeelTools
to enable setting the look and feel immediately prior to opening the
JPF Button Panel. This permits an instructor to automatically
adjust the sizes of the fonts used by Java so that they become large
enough for classroom presentation.
The following class shows a typical starter class for use with the JPF. This class has a large number of useful imports so that a student need not waste time searchng for a necessary import. The class also has several comments that are useful for a beginner but may be detailed by a more experienced user.
The JPF starter class
Methods.java.
The structure of the central portion of the starter code
in Methods.java is as follows with comments
removed:
public class Methods extends JPF
{
public static void main(String[] args) {
new Methods();
}
// place methods and data below
}
The critical issue is that Methods extends JPF
and that the constructor call, new Methods(), automatically
calls the default constructor for the JPF class which does
all of the magic. The JPF constructor scans the
Methods class looking for what we call simple public
methods. By simple we mean methods whose parameters and
return value may be expressed using one-line strings that are simple
enough to be typed in by the user. For such methods, the JPF constructor
automatically creates a button in its GUI (which is also created
automatically) and the button executes its associated method. If the
method has no arguments and void return it is simply executed. If the
method has arguments and/or a return value, then JPF will
automatically generate an auxiliary panel as needed to handle the user
interaction.
See the notes in the JPF Source Files documentation for further details.
Access detailed instructions for setting up JPT in Eclipse here. Numerous screen snapshots are provided as slide shows.
New demonstration programs will be added to this site as time permits. Older demos may be found by following the links to the older versions of JPT.
We teach a 1 SH course Freshman Honors Seminar that has many simple demos of how to use the Java Power Tools.
The Java Power Tools team:
| Name | Telephone | |
| Richard Rasala | rasala@ccs.neu.edu | 617-373-2206 |
| Viera Proulx | vkp@ccs.neu.edu | 617-373-2225 |
To send e-mail to the Java Power Tools team, use: jpt@ccs.neu.edu
Our postal address and fax number are given below:
| College of Computer & Information Science |
| Northeastern University |
| Boston, MA 02115 USA |
| Fax: 617-373-5121 |