Chpater 10

Programming


CONTENTS

Class Libraries

Acme.Psg

by Jef Poskanzer
Contact Info: jef@acme.com
URL: http://www.acme.com/java/software/Acme.Psg.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A PostScript-like alternative to the Graphics class. This class provides a functional equivalent of java.awt. Graphics, but with a very PostScript-like interface. It implements the following PostScript operators: gsave grestore grestoreall iningraphics setcolor setgray sethsbcolor setrgbcolor translate scale rotate transform newpath moveto rmoveto lineto rlineto arc arcn curveto rcurveto closepath erasepage fill stroke show.

The applet page provides an index of all the operators covered by Acme.Psg sorted by usage, along with simple explanations of their functions. Also included is a class heirarchy, class indices, and some documentation.

Argent Coffee Table

by Argent Software
Contact Info: argent@argent.com
URL: http://www.argent.com/demogrid/demogrid.html
Load Time: Fast
Source Code Included: No

Author's Description: A grid class written in Java.

Features include customizable font, background and text color, and justification attributes at the grid, row, or column level, and automatic hiding/showing of scroll bars based on viewable area. See the pricing information table for licensing, pricing, and usage specifics.

awtCommand Package

by Jan Newmarch
Contact Info: jan@ise.canberra.edu.au
URL: http://pandonia.canberra.edu.au/java
Load Time: Very Fast
Source Code Included: Yes

Author's Description: The awtCommand package implements the Command class described in the book Design Patterns by Gamma, Helm, Johnson, and Vlissides.

Visit the More Information link for information on availability, the AWT event model, and implementation examples-then return to the main page to download the tar or .ZIP file.

Binary Tree Package

by Paul Phillips
Contact Info: paulp@cerf.net
URL: http://www.cerf.net/~paulp/java/btree
Load Time: Fast
Source Code Included: Yes

Author's Description: A package of Java classes implementing a generic binary tree.

Download all the individual files and/or the distribution gzipped tar file to test this applet-the only "demo" is a link, TestTree.java, to written code.

Collection Classes

by Doug Lea
Contact Info: dl@cs.oswego.edu
URL: http://g.oswego.edu/dl/classes/collections
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A package of basic collection classes. These are mostly pretty ordinary collection types (Sets, Bags, Sequences, Maps) with standard implementations, plus a few interesting features like ways of guaranteeing immutability, self-testing capabilities, etc.

Download the code package (tar.gz or .ZIP format) and the documentation, but first read all the helpful stuff on this well-organized and presented main page.

CONNECT! Widgets

by CONNECT! Corporation

Contact information: sales@connectcorp.com; http://www.connectcorp.com

URL: http://www.connectcorp.com/widget.html

Load Time: Fast

Source Code Included: No

Author's Description: CONNECT! Widgets is the first custom control library for the Java environment. CONNECT! Widgets contains a series of commercial quality objects that ease the development of Java applets. Included are a tab window control, image list box, editable choice list, key press manager (for tabbing between fields), image buttons, context menu (right mouse menu), performance animator, and 3-D fields.

This applet library consists of eight components used by CONNECT! to build their application suite. The company offers an interactive, detailed online demo that both shows and demonstrates Widget capabilities. CONNECT! does note that Widget controls may not size properly on UNIX platforms, but no problems came up during testing on our Windows 95 and Macintosh platforms.

Distributed Real-time Interactive Simulation

by Mark Frazer
Contact Info: MJFrazer@UWaterloo.Ca
URL: http://www.pads.uwaterloo.ca/~mjfrazer/drtis
Load Time: Fast
Source Code Included: Yes

Author's Description: A class library on top of which distributed interactive simulations may be based. Full documentation is available as well as all the source code.

This applet allows many users, possibly spread all over the Internet, to participate in the same, single simulation in realtime interaction. Click the version 0.2 link to get to the documentation, information on the algorithm development, and the source.

Fractional Layout

by Eric Lunt
Contact Info: elunt@mcs.net
URL: http://www.mcs.net/~elunt/Java/FractionalLayoutDescription.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A layout manager for the rest of us, modeled after the PacPlace-Digitalk VisualWorks layout implementation.

All the documentation and source code files for this applet are available individually or in two downloadable .ZIP files. There's no demo, just an example class.

GIFEncoder

by Adam Doppelt
Contact Info: amd@cs.brown.edu
URL: http://www.cs.brown.edu/people/amd/java/GIFEncoder
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A class which will take an image and write it out as a .GIF. Finally, image export for Java.

Read the Test Application link page, which substitutes for a demo, before downloading the source code (it can be freely distributed, BTW).

HersheyFont Class

by Jim Buzbee
Contact Info: jbuzbee@nyx.net
URL: http://www.nyx.net/~jbuzbee/font.html
Load Time: Fast
Source Code Included: No

Author's Description: An implementation of Hershey Font rendered in Java. Allows full text string rotation, scaling, and alignment. Includes several Hershey fonts such as script, Gothic, and Roman. Also allows special effects such as mirror and backwards writing.

Download the source and/or the HersheyFont class by itself, but also grab the original font documentation information, hersey.doc. The test.java file serves as the "demo."

Iced Java

by Chris Laurel
Contact Info: chris@dimensionx.com
URL: http://www.dimensionx.com/chris/about-icedjava.html
Load Time: Fast
Source Code Included: No

Author's Description: Iced Java is a 3-D graphics package for use with HotJava. There are two parts to Iced Java: a C library which implements low-level graphics primitives, and a set of Java classes which provide an easy-to-use interface to the C library.

Features include Z-buffered polygons, lights, and points; Gourand shading; texture mapping; a rich set of light and material properties; and support for 32-, 24-, 16-, and 8-bit frame buffers. E-mail DimensionX for more information about pricing and availability.

Ismap Compliant Polygon Area Lookup Class

by Dan Cohn
Contact Info: cohnd@rpi.edu
URL: http://www.rpi.edu/~cohnd/Ismap.java
Load Time: Fast
Source Code Included: Yes

Author's Description: Ismap is a class to allow the use of the NCSA Imagemap format in Java applets. This class allows you to define rectangular, circular, or n-sided convex polygon regions of a coordinate plane and and to then query for the region described by an (x,y) coordinate pair. Existing ISMAP editing tools may be used to layout regions, or they may be added easily with class methods. Maps may also be loaded or appended with those listed at an URL. A global x,y offset provision also exists if your image doesn't start at 0,0.

The source code is all there is at this link, so don't expect instructions, a demo, or anything in plain English.

Java Distributed TCP/IP Message Handling System

by Radu Sion
Contact Info: radus@cs.pub.ro
URL: http://ww2.dsp.pub.ro/~java/jmhs
Load Time: Fast
Source Code Included: Yes

Author's Description: The JMHS is designed to use some of the advanced features of Java in order to create a friendly interface to users/programmers that need/want to build chat/multimedia/games/etc. message-based communication structures. It provides also strong client side applet support through the ClientApplet easy to use class that practically takes care of all the communication.

Sometimes the chat applet demo works, sometimes it doesn't; as the author points out, Netscape occasionally doesn't allow reading on a socket. The source, documentation, and other examples are available for the downloading.

Java Generic Library (JGL pronounced "juggle)

by ObjectSpace, Inc.
Contact Info: webmaster@objectspace.html
URL: http://www.objectspace.com/jgl
Load Time: Fast
Source Code Included: Yes

Author's Description: The Java Generic Library is the ultimate brew of containers and algorithms that extend the java.util package with ten collection classes, iterators, and generic algorithms such as sorting, replacing, removing, etc. The Java Generic Library is currently available for your use and includes all source code. Please check out http://www.objectspace.com/jgl.

Definitely also check out the Several Enhancements link for updates and revisions since the beta 1.0 version release. This applet is free for commercial use, but remember the final production release is yet forthcoming.

MD5 Class in Java

by Santeri Paavolainen
Contact Info: sjpaavol@cc.helsinki.fi
URL: http://www.cs.hut.fi/~santtu/java
Load Time: Fast
Source Code Included: Yes

Author's Description: An implementation of MD5 hash routine in Java. Same site contains also MD5InputStream and MD5OutputStream which calculates hashes of streams. I used the RSA reference implementation of RFC1312 as a basis for the class.

The entire class-source and compiled-is available in one tarred and zipped downloadable packet, along with the streams and test suite application. Read the link entitled COPYING for GNU Public License information.

Microline Component Toolkit

by Microline Software
Contact Info: phd@mlsoft.com
URL: http://ww.mlsoft.com
Load Time: Fast
Source Code Included: Yes

Author's Description: The Microline Component Toolkit provides Tabbed Folder, Grid, Tree, Progress, etc. user-interface components for Java.

Netscape for Windows users should read the Known Java/Netscape Bugs list before loading up the demo-there's lots of things that can go funky or completely wrong if you're using this browser and toolkit together.

MsqlJava

by Darryl Collins
Contact Info: darryl@minmet.uq.oz.au
URL: http://www.minmet.uq.oz.au
Load Time: Fast
Source Code Included: Yes

Author's Description: MsqlJava is a class library that implements a client for David Hughes' mSQL database server.

The simpler examples of this applet can be found within the tutorial-check out the Examples link afterwards, or if you already grasp the basics, MsqlJava is downloadable in tar or .ZIP form, along with the original mSQL upon which it's based.

Nutmeg

by Thought Inc.
Contact Info: info@thoughtinc.com
URL: http://www.thoughtinc.com
Load Time: Very Fast
Source Code Included: No

Author's Description: Nutmeg is a full implementation of a Smalltalk Collection Class Library. It includes indispensible classes such as Dictionary, Set, Indexed Collection, and Bag! It has advanced features such as Iterators (Enumerators), Block execution, Sort Blocks external to classes (can override a classes compare method), DeepCopy functionality, and Smalltalk of Java Exception handling-as well as ThreadSafe behavior for all classes.

Pricing and availability of this application varies, so check out the applet page for more details. A limited 30-day evaluation copy is available for the downloading (.ZIP and tar files only) as is the documentation: the class structure, all method names, an installation guide, and a user's guide.

OCI/Java Gateway

by Anders Rundgren
Contact Info: anders.rundgren@seuppbt.pharmacia.se
URL: http://multiserver.kuai.se
Load Time: Fast
Source Code Included: No

Author's Description: A Java class library (under development) that allows Java applets to connect to Oracle databases. Requires a Win95/NT- or UNIX-hosted gateway server on the other end. The Java class API is based on OCI so that Oracle documentation apply with few changes. The OCI/Java class library uses a very efficient protocol optimized for Internet usage. The library is small and requires no installation whatsoever.

A free evaluation beta is downloadable from this site for Windows NT users-others can view the test demo, the components, and other pricing and availability information.

pop3.java

by John Thomas
Contact Info: jthomas@cruzio.com
URL: http://www.cruzio.com/~jthomas/java.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: This Java class implements the client side of the POP3 protocol (RFC 1725). The apop subclass also supports the apop command that does authorized login using MD5.

The source, documentation, and a demo are all available-download the tar file to get the class and the README file.

Queue Package

by Walter Korman
Contact Info: shaper@cerfnet.com
URL: http://www.cerfnet.com/~shaper/java/queue
Load Time: Fast
Source Code Included: Yes

Author's Description: A simple Queue implementation, similar to the java.lang.Stack class.

No demo, instructions, or other small talk-just a gzipped tar file, individual classes, and a simple test program.

Self-Adjusting Heap Class

by Walter Korman
Contact Info: shaper@cerfnet.com
URL: http://www.cerfnet.com/~shaper/java/heap
Load Time: Fast
Source Code Included: Yes

Author's Description: A fast, self-adjusting Heap/Priority Queue based on an algorithm described by Tarjan and Sleator. Objects need only implement the HeapItem interface (two methods) to be stored in the Heap.

Nothing much on this page except the gzipped tar file of all the classes, each individual class, and a test program.

Figure 10.1 :

webWidgets GUI Components

by Phil Allen
Contact Info: phila@mindspring.com
URL: http://www.mindspring.com/~phila
Load Time: Fast
Source Code Included: No

Author's Description: webWidgets are a set of add-on GUI components for Java. There are Tabs, Sliders, Dials, Clocks, and more. The webWidgets use an object-oriented approach along with the more common properties (a la Visual Basic) to allow customization and extension of the components. This is a beta version which will become obsolete when the product version is released.

The downloadable .ZIP file contains the API documentation, demo programs with the source code, and the ww.zip file containing the class files for webWidgets. Netscape/Windows 95 users should take note of the repainting bug, and use appletviewer instead if they can.

Databases

ARIS Database Workbench

by ARIS Corp.
Contact Info: webmaster@ariscorp.com
URL: http://www.ariscorp.com/product/workbench.html
Load Time: Fast
Source Code Included: Yes

Author's Description: ARIS Database Workbench allows Java applets to connect to backend data sources via ODBC. Some source code is included.

By using this application, "developers can build applications that provide full access to data (select, insert, update, delete) contained in any ODBC-compliant database including Oracle, Sybase, Microsoft SQL Server, and Informix."

Confiserie: The POET Java Gateway

by Frank Felix Debatin
Contact Info: felix@poet.de
URL: http://developer.poet.de/confiserie
Load Time: Fast
Source Code Included: No

Author's Description: POET Software is one of the major vendors of object-oriented database systems. Now the POET Java Gateway enables you to generically access any POET database, including such features as object-oriented data model, concurrent access (including transactions, locking, and event notification), OQL queries, multimedia streaming facilities, remote invocation, remote database access, and database administration.

If you don't have POET 4.0 already installed on your machine, the downloadable beta version of this applet will not work. E-mail the author for information on how to get this software, or wait for the download package containing both to be posted to this page.

Database Viewer

by InterNetivity, Inc.
Contact Info: info@itivity.com
URL: http://www.itivity.com/Java/dbViewer/dbViewer.html
Load Time: Fast
Source Code Included: No

Author's Description: An advanced applet that demonstrates data mining, a technique that allows you to graphically "drill" down through large amounts of data with the click of a mouse. It demonstrates how Java can serve as a elegant interface to complicated databases.

Click on a colored field, on the horizontal and vertical base data measurements, and watch the top "layer" of parameters settle back to reveal more detailed, specific information. Note especially how each previous data group fades out of the graph-it's not only elegant, it's cool.

Doing Charts on the Fly

by Thomas Dunbar
Contact Info: tdunbar@gserver.grads.vt.edu
URL: http://gserver.grads.vt.edu/cgi-bin/wowtgd/htshowDeptj?
Load Time: Fast
Source Code Included: Yes

Author's Description: This demonstration uses a Java bar-graph applet and Netscape 2.0 frames as the front end to a WOW backend. Classy.

This applet produces a simple, accessible page with lots of information but not a lot of clutter. Also check out the colored tickertape sign running along the bottom of the lefthand frame, along with the source info that contains ample documentation.

Java Object Persistence

by David Rothwell
Contact Info: davidr@magna.com.au
URL: http://www.magna.com.au/~davidr
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Object database persistence for Java that allows Java objects to be saved and read from a Relational Database, Random Access File, Stream, or TCP/IP socket.

This is a three-for-one page, unless you aren't using Windows 95 or Windows NT-the Relational Database isn't usable with these browsers at this time. The author has provided a great deal of helpful information, including FAQs, overviews, and future improvements, along with the source code.

OEW/Java

by Innovative Software
Contact Info: oew@isg.de
URL: http://www.isg.de
Load Time: Fast
Source Code Included: Yes

Author's Description: The Object Engineering Workbench for Java. Here is a buzzword description: Cross-platform graphic object-oriented class modeler/browser fast forward and reverse engineering of any (even buggy) Java source code compiler integration migration from C++ ZQL plus plus plus....

Download version 0.9 for free. Other building environments on the Gamelan directory include PaintJava (Programming: Graphics), HTMLjive (JavaScript: JavaScript Utilities Resources), Rogue Wave Software (Programming: Development Tools), FutureTense Texture (Multimedia: Graphics Resources), Java WebIDE (Utilities: Other Utilities), and Visual Java (Programming: Development Tools).

OraJava 1.0b

by James Todd, Object Modeling Designs
Contact Info: JamesTodd@omd.com
URL: http://www.aimnet.com/~omd
Load Time: Fast
Source Code Included: Yes

Author's Description: OraJava provides a Java interface to an Oracle RDBMS.

The downloadable tar file contains C source, Java source, a rudimentary MakeFile and a sample OraJava application-the author reports that these files work with Solaris 2.x and Oracle 7.0 and higher versions.

SybJava 1.0 (beta)

by James Todd
Contact Info: JamesTodd@omd.com
URL: http://www.aimnet.com/~omd
Load Time: Fast
Source Code Included: Yes

Author's Description: SybJava provides a Java interface to Sybase SQL servers. This is a work in progress project.

A port of SybTcl-the downloadable file contains C and Java source, a sketchy Makefile, and a sample application for testing. Works with Solaris 2.x and Sybase 4.9.2 and later versions.

WebContact (a Java contact utility applet)

by Avitek
Contact Info: timothy@avitek.com
URL: http://www.avitek.com/demos/contact/demo.html
Load Time: Very Fast
Source Code Included: No

Author's Description: A three-tiered, client server, tabbed notebook, Java-to-ODBC database manager.

An extremely useful applet that allows users to store, search, and otherwise manage membership lists in an address book format off Avitek's site or in a floating window. The Technical Notes provide specifics on each aspect's features and architecture. E-mail Avitek for more information.

Development Tools

The Gamelet Toolkit

by Mark Tacchi
Contact Info: mtacchi@next.com
URL: http://www.next.com/~mtacchi/Java/GameletToolKit/README.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Here's a framework of classes that I worked on that gives you the power to create fast action arcade-style games in Java without writing a lot of code. I call them Gamelets. The Gamelet Toolkit is a robust, scalable, object-oriented framework of classes and interfaces used for developing arcade-style video games. It provides classes for the management of several key gaming functions including animation, display, scoring, events, and drag n drop. The Gamelan ToolKit distribution contains example source code to help get started and a ready-to-run game called Javaroids. Javaroids is just a demo game and may be a starting point for someone to take it to further. The Gamelet ToolKit is absolutely FREE. Consider it as my gift to you.

It's cool, and useful. It gets the highest marks. Other resources for game creators on the Gamelan directory include Jack Project (Art and Entertainment: Other Art and Entertainment Resources) and Meeting (Network and Communications: Chat and Multiuser).

Mike Lehman's HotTEA

by Michael Lehman
Contact Info: cereus7@mbay.net
URL: http://www.mbay.net/~cereus7/HotTEA.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: An implementation of BASIC written in Java. Suitable for applets (in this version). Suitable for applications in future versions. Try it, it's relaxing, it's the easy answer.

If you'd rather use something you already know (BASIC) than learn something new (Java), then use this applet to Javacize your Web pages. HotTEA is suitable for Internet and Intranet use, plus it's free for the taking. Try out the demo first if you like, and check the additional linked pages for more information.

Mojo: the Visual Java Development Tool

by Penumbra Software
Contact Info: Use technical help form on site
URL: http://www.penumbrasoftware.com
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Mojo, Penumbra Software's new visual Java development tool, provides an easy way to quickly build Java applets and applications without compromising any of the power of the Java language.

This applet is a combination of two elements-a GUI designer providing the visual means to create Java applets, and a coder that organizes Java objects and gives the user "direct access to all aspects of the code." Click the What Is Mojo? building on the imagemap for more details, and use the similar Download Mojo image to purchase Mojo or to download the beta version for free.

ProfileViewer

by Greg White
Contact Info: gwhite@inetmi.com
URL: http://www.inetmi.com/~gwhi/ProfileViewer/ProfileViewer.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A GUI viewer for profiling information produced by the Java interpreter. This allows you to find those "hot spots" in your program.

This applet is a valuable addition to anyone's Java toolbox. The author provides everything the user needs to install and maximize ProfileViewer's performance including (of course) the source code.

Rogue Wave Software/JFactory

by Rogue Wave Software
Contact Info: Use feedback on Web site
URL: http://www.roguewave.com
Load Time: Very Fast
Source Code Included: No

Author's Description: JFactory is a screen designer/code generator for the Java language. Visually design your screens by dragging and dropping controls onto the screen. When you are satisfied with the look and feel of your applications, generate code with the click of a button.

Pause to appreciate Rogue Software's applet logo (nice wave action), but linger on the JFactory page. The relationship between JFactory and Java is intended to be the same as PageMill and HTML-you create the design using familiar controls and individual elements while the software generates the code. Other building environments on the Gamelan directory include PaintJava (Programming: Graphics), HTMLjive (JavaScript: JavaScript Utilities Resources), FutureTense Texture (Multimedia: Graphics Resources), Java WebIDE (Utilities: Other Utilities), OEW/Java (Programming: Databases), and Visual Java (this section).

Visual Java

by Tony Faustini
Contact Info: faustini@asu.edu
URL: http://www.eas.asu.edu/~lu/visualJava.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Visual Java is an entirely visual environment that empowers ordinary Internet users to experiment with prefabricated Visual Java software components.

Yet another environment in which non-programmers can assemble their Web pages without having to write any code. The unique benefits of Visual Java are an open catalogue of premade elements for users to work with and programmers to expand upon, the ability to create collaborative or single-user pages, and, like Java, platform-and GUI-independence. Other building environments on the Gamelan directory include PaintJava (Programming: Graphics), HTMLjive (JavaScript: JavaScript Utilities Resources), Rogue Wave Software (Programming: Development Tools), FutureTense Texture (Multimedia: Graphics Resources), Java WebIDE (Utilities: Other Utilities), and OEW/Java (Programming: Databases).

Documentation

Active Java Book Home Page

by Ari Davidov/Addison-Wesley
Contact Info: ari@aw.com
URL: http://heg-school.aw.com/authors/freeman.a/actjava/actjava.ch.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Home page for the Active Java book from Addison-Wesley. All of the chapters are available to download as PostScript and Acrobat files. Code samples from the book are also available.

Other resources on the Gamelan directory related to published Java books include Java Sourcebook Resource Page (Programming: Other Programming Resources), along with Hooked on Java, The Java Handbook, and The Java Book Series (all in this section).

Advanced Applets and the AWT

by ICON Computing
Contact Info: dsouza@iconcomp.com
URL: http://www.iconcomp.com/papers/advanced-awt
Load Time: Fast
Source Code Included: No

Author's Description: None.

This table of contents describes a lecture/tutorial to be presented at the Object/Java Expo New York 1996. Subjects covered in the outline include Basic Java (interface, class, exception, thread), Basic Applets (HTML, PL), and AWT Containers and Components-still, this is billed as advanced material, so beginning and novice programmers may find this stuff less useful.

Hooked on Java

by Arthur van Hoff, Sami Shaio & Orca Starbuck/Sun Microsystems Inc.
Contact Info: dpbooksinco@aw.com
URL: http://www.aw.com/devpress/java
Load Time: Fast
Source Code Included: No

Author's Description: In Hooked on Java, members of Sun's Java development team show you everything you need to know to use Java applets effectively. These experts explain how applets work in clear, easy-to-follow language. Step by step, they demonstrate how to add Java applets to your Web site and how to configure them without programming.

This Java book site contains sample chapters from the book but nothing from the CD-ROM in the way of applets or code. Other resources on the Gamelan directory related to published Java books include Java Sourcebook Resource Page (Programming: Other Programming Resources), along with Active Java Book Homepage, The Java Handbook, and The Java Book Series (all in this section).

Java and HotJava Documentation

by Sun Microsystems Inc.
Contact Info: webmaster@java.sun.com
URL: http://java.com.sun/doc.html
Load Time: Fast
Source Code Included: No

Author's Description: All of Sun's documentation for Java and HotJava is available at this Web site.

The most authoritative of all Java documentation sites-a tutorial, FAQs, documetntation for the latest JDK, and more. Other helpful documentation resources on the Gamelan directory include Dippy Bird's WinHelp Java Documentation (Programming: Other), and Java, JavaScript, + Plug-In Documentation in WinHelp (.hlp) Format (this section).

The Java Book Series

by Addison-Wesley Corporate and Professional Publishing Group
Contact Info: chrisgu@aw.com
URL: http://www.aw.com/javaseries.html
Load Time: Fast
Source Code Included: No

Author's Description: Sun Microsystems, Inc. has selected Addison-Wesley's Corporate and Professional Publishing Group as official publisher of The Java Series.

This is the main Addison-Wesley page for all the books in the Java series written by people at Sun. Link to title-specific pages, forthcoming book information, author biographies, and more. Other resources on the Gamelan directory related to published Java books include Java Sourcebook Resource Page (Programming: Other Programming Resources), along with Active Java Book Homepage, The Java Handbook, and Hooked on Java (all in this section).

Java Class Hierarchy Diagrams

by Charles Perkins
Contact Info: clp@home.HarvardSq.com
URL: http://rendezvous.com/java/hierarchy
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Charles L. Perkins has prepared a number of diagrams which show the class hierarchy for Java packages. These are in PostScript format.

All the demos and other files on this page need to be downloaded and installed before you can check them out. Also link to the "older beta diagrams" to determine which files are most appropriate for you.

Java FAQ Archives

by Active Web Networks
Contact Info: webmaster@www-net.com
URL: http://www-net.com/java/faq
Load Time: Very Fast
Source Code Included: No

Author's Description: We are doing our best to provide a location for all known Java FAQ files to be stored, mirrored, or linked.

Just the FAQs (ha, ha) and nothing but. Some are translated into French and Japanese. Also see Java FAQ (Programming: Documents about Java).

The Java Handbook

by Patrick Naughton
Contact Info: pbn@inet1.inetworld.net
URL: http://www.starwave.com/people/naughton
Load Time: Fast
Source Code Included: Yes

Author's Description: The Java Handbook: An Authoritative Guide to the Java Revolution. This book covers everything. From the history of the project starting at its inception, through the creation of the HotJava browser. A thorough examination of the motivation for the creation of this language is intertwined with a comparison with C++. Basic object-oriented programming concepts are illustrated for beginning programmers. The complete syntax of the Java language is covered in great detail, with colorful explanations where other books stop at a dry listing of syntax. All of the core classes, as well as utility classes, networking, graphics, windowing, and multithreading, are covered in equal detail with examples.

Download all the source code and all the example programs illustrated in the book from this URL. Other resources on the Gamelan directory related to published Java books include Java Sourcebook Resource Page (Programming: Other Programming Resources) and Active Java Book Homepage, Hooked on Java, and The Java Book Series (all in this section).

Java, JavaScript, + PlugIn Doc in WinHelp (.hlp) format

by Bill Bercik
Contact Info: bill@dippybird.com
URL: http://www.dippybird.com
Load Time: Fast
Source Code Included: No

Author's Description: Get the following Java documentation in Windows Help (.hlp) format: Java API, Java Language Spec, Java White Paper, Java Virtual Machine Spec, Java Resources, Java FAQs, Java Tools Reference Page, Java Tips and Tricks (updated), Java JDBC Database Access API (new), Java Remote Method Invocation Spec (new), Java Object Serialization (new), Java RMI and IDL spec (new).

Other helpful documentation resources on the Gamelan directory include Dippy Bird's WinHelp Java Documentation (Programming: Other Programming Resources) and Java and HotJava Documentation (this section).

Documents About Java

Java FAQ

by Elliotte Rusty Harold
Contact Info: elharo@inch.com
URL: http://sunsite.unc.edu/javafaq
Load Time: Very Fast
Source Code Included: N/A

Author's Description: Frequently Asked Questions about the Java language.

A timely, helpful list of important events, links, examples, user groups, and more. This site features exercises and questions from the author's forthcoming Java book. Also see Java FAQ Archives (Programming: Documentation).

Java Jolt

by David Wood/WORLD Developer's Forum
Contact Info: obsidian@panix.com
URL: http://netday.iworld.com/devforum/javajolt.html
Load Time: Very Fast
Source Code Included: No

Author's Description: A weekly description explaining the basics and intricacies of Java development.

Within these weekly Java lessons are links to detailed explanations of each class used as an example, to previous lesson installments, and sample code as shown in HTML and from within the applet itself. Other helpful tutorials on the Gamelan directory include Getting Started With Java (Programming: Learning Java), Living Digital (News: Other News Resources), and Trail Map (this section).

Java Section of Lovelace (Ada 95) Tutor

by David A. Wheeler
Contact Info: wheeler@ida.org
URL: http://lglwww.epfl.ch/Ada/Tutorials/Lovelace/java.htm
Load Time: Very Fast
Source Code Included: No

Author's Description: This document shows how to develop Java programs (applets and applications) using the Ada 95 programming language. Ada 95 is an ISO standard object-oriented language that supports generics and infix operator overloading.

This tutorial in progress contains sample Java programs in Ada you can run or view via the source code. Also includes links to previous lessons-including the beginning of the entire tutorial so you can start from the top-and a linked list of related resources. Other helpful tutorials on the Gamelan directory include Getting Started With Java (Programming: Learning Java), Java Jolt (this section), Living Digital (News: Other News Resources), and Trail Map (this section).

JDK 1.0 Class Hierarchy

by Myung-Ki Shin
Contact Info: mkshin@pec.etri.re.kr
URL: http://pec.etri.re.kr/java/JDK/class.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Class hierarchy diagram for the JDK 1.0 in HTML (text) and PowerPoint.

HTML, HTML, and more written monospaced HTML. And a link to the PowerPoint version.

Paul Santa Maria

by Paul Santa Maria
Contact Info: paulsm@kaiwan.com
URL: http://www.kaiwan.com/~paulsm/mandel
Load Time: Very Fast
Source Code Included: No

Author's Description: A comparison of Java and C++.

This URL takes you to a table of contents outlining the details of this language comparison. Links to a Mandelbrot Set applet-both a link to an applet demo and a version that's visible without actually running the applet-are included as an accompanying example. Other C++-specific resources on the Gamelan directory include Using Visual C++ 4.0 for Java (this section) and c2j (Utilities: Other Utilities).

Persistent Java

by Bill La Forge
Contact Info: laforge@smartchoice.com
URL: http://copeland.smartchoice.com/~laforge
Load Time: Very Fast
Source Code Included: No

Author's Description: This is a first release of several Java packages. I hope you find them interesting and useful. My initial focus is on persistence, which is simply the ability to write a set of interconnected objects to a stream, then recreate those same objects in the same of a different program when reading them from a stream.

This discussion of persistence and Java is accentuated with a complete set of ten examples, including documentation and class files.

Trail Map: The Java Programmer's Guide/The Java Language Tutorial

by Sun Microsystems, Inc.
Contact Info: Sun Microsystems
URL: http://java.sun.com/books/Series/Tutorial
Load Time: Very Fast
Source Code Included: No

Author's Description: The Java Programmer's Guide is a practical, online guide to writing programs in the Java language. This is the second draft of the programmer's guide. It reflects the API distributed in the pre-beta 1 Java Developer's Kit (JDK).

Other helpful tutorials on the Gamelan directory include Getting Started With Java (Programming: Learning Java), Java Jolt (this section), and Living Digital (News: Other News Resources).

Using Visual C++ 4.0 for Java Development

by Jeff Berkowitz and Andy Carlson
Contact Info: andycarlson@attmail.com
URL: http://www.ivas-as.attistel.co.uk/java/vc-java.htm
Load Time: Very Fast
Source Code Included: No

Author's Description: How to tailor Visual C++ to be Java developer-friendly.

A thorough, useful comparison of the two programming languages. Contents include sections on syntax coloring, compiling, executing, and a tools menu summary. Other C++-specific resources on the Gamelan directory include c2j (Utilities: Other Utilities) and Paul Santa Maria (this section).

Figure 10.2 :

Examples

Blinking Squares

by Suresh Srinivasan
Contact Info: suresh@thomtech.com
URL: http://ttis.thomtech.com/%7Esuresh/java/beta/squares
Load Time: Very Fast
Source Code Included: Yes

Author's Description: This illustrates multithreaded programming using Java. Each "square" runs in its own thread as does the applet. The squares have random colors, blink rates, and sizes.

A nice, simple example of a basic capability. Along with the other resources listed in this section, take a look at Animator (Multimedia: Animation) and Asternoid (Art and Entertainment: Arcade Games) for other simple examples of Java's functionality.

The Java Boutique

by Jason Gurney
Contact Info: jgurney@u.washington.edu
URL: http://weber.u.washington.edu/~jgurney/java
Load Time: Very Fast
Source Code Included: Yes

Author's Description: The Java Boutique is a collection of more than 50 working examples of Java applets, with source code provided.

This site is a veritable gold mine for those who want applet installation instructions in English.The How-To page is especially clear and concise though the selection of applets to choose from, with corresponding source and instructions, is limited.

Figure 10.3 :

Multithreaded Towers of Hanoi with Air Traffic Control

by Jim Conning
Contact Info: jcon@best.com
URL: http://www.best.com/~jcon/towers
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Solves Towers of Hanoi problem while moving rings from one peg to another. Since each ring movement is a separate thread, multiple rings may be airborne simultaneously. An air traffic control service keeps airborne rings from colliding.

Customize the number of rings in the problem, the pace of the solution, and traffic control functionality through the Options button. Other basic programming functionality applets/problems on the Gamelan directory include Towers of Hanoi (Miscellaneous: Other Miscellaneous Resources), Blinking Squares (this section), Animator (Multimedia: Animation) and Asternoid (Art and Entertainment: Arcade Games).

Graphics

Acme.GifEncoder-Write out an Image as a GIF

by Jef Poskanzer
Contact Info: jef@acme.com
URL: http://www.acme.com/java/software/Acme.GifEncoder.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Writes an image onto a specified OutputStream in the GIF file format. Useful for sending modified images back to the server, or in applications to write to the local disk.

Link to the class hierarchy from this page, along with an index of all fields and methods this author has used in his Java applets.

AnimButtons

by North Park Studios
Contact Info: webmaster@npark.com
URL: http://www.npark.com
Load Time: Fast
Source Code Included: Yes

Author's Description: Animate your buttons. This little applet animates your buttons and makes them clickable, too.

On the Windows 95 platform, only five of the seven buttons loaded up (after repeated Reloads) and the button movement was sporadic. Other animated buttons resources on the Gamelan directory include Button Animation (Multimedia: Animation) and ANButton.java (Programming: User Interfaces).

Applet Using noteBookSheet C

by Sandip Chitale
Contact Info: sandip@netgate.net
URL: http://ww.netgate.net/~sandip/noteBookSheetApplet/noteBookSheetApplet.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: A simple class which implements a noteBook sheet-like look. You can add lines, set lines by line numbers (zero based), and delete all lines.

Both the noteBookSheetApplet and noteBookSheet Java files are accessible from this URL, but there's no other information or instructions included.

The Cartography Applet

by Eddie McCreary
Contact Info: forge@starbase.neosoft.com
URL: http://www.NeoSoft.com/~forge/java/Cartog/Cartog.html
Load Time: Fast
Source Code Included: Yes

Author's Description: An applet which lets you view a map of the Earth from a variety of projections. You can choose the projection and the latitude/longitude of the center of the projection.

Just for comparison, check out the weather resources on the Gamelan directory which provide other projections of Earth from space: Blue Skies Java Weather Browser (Miscellaneous: Other Miscellaneous Resources), Weather Forecast for the Next 12 Hours (Multimedia: Graphics Resources), The Latest Weather (Education: Other Educational Resources), Satellite Animation (Multimedia: Animation), and Atlantic Hurricane Tracking (Web Sites: Commercial).

Cyba Java

by David Parry/Cyba
Contact Info: david@cybacyba.co.uk
URL: http://www.demon.co.uk/cyba/javamain.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Check out the leading-edge of UK Java development. Graphics-related Java applets galore.

Applets in this collection include the VirtualKeyboard class which establishes an onscreen keyboard (UK, US, and keypad); the PixelHandler class for manipulating images from the pixels up; and the ParticleDemo 2-D particle simulator. Shareware licensing information and charges are also included.

Java Color Space Applets

by Greg Thoenen
Contact Info: thoenen@cs.utah.edu
URL: http://www.cs.utah.edu/~thoenen/myjava
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Java color space applets give the user a visualization of and show the relationship between different color spaces.

Color spaces dealt with via these applets are: RGB, HSV, YIQ, and CIE luv. The source code is available for the taking, and there are demo usage instructions along with some other general stuff.

Figure 10.4 :

Java Grounds Polymesh Builder

by Shawn Kendall
Contact Info: shawn@acusoft.com
URL: http://www.acusoft.com/~shawn/java/3D/tools/grounds/Grounds.html
Load Time: Very Fast
Source Code Included: No

Author's Description: The Java Grounds Polymesh Builder is a java applet that creates polymesh style models based on certain user-supplied parameters. Also, with the included widgets the polymesh can be colored based on height or some other external images, similar to texture mapping. Noise, cylinders, and a hex mesh are also possible.

Build 3-D surfaces and terrains in this Java environment, then save a copy as a VRML file at the author's URL. The documentation includes a Getting Started section and descriptions of each tool/window's features, and there's a nice list of example links, too.

Kwan's Java Demo

by Kwan Chin
Contact Info: chinkw@cs.curtin.edu.au
URL: http://www.cs.curtin.edu.au/~chinkw/applet/applets.html
Load Time: Fast
Source Code Included: No

Author's Description: None.

Assorted demos and general information about 3-D graphics, animation, and the author's efforts. All the examples in this collection are worth checking out.

PaintJava Applet

by Sandip Chitale
Contact Info: sandip@netgate.net
URL: http://www.netgate.net/~sandip/PaintJava/PaintJava.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Simple GUI builder to paint the Java windows. Use the toolbar or the Tools choice to select a tool. Select a GUI item using mouse, resize it using Shift-mouse button. Select multiple using Control-mouse button or Select tool. Use the Edit:Dump option to dump the Java source to the Java console of your browser.

Other building environments on the Gamelan directory include HTMLjive (JavaScript: JavaScript Utilities Resources), Rogue Wave Software (Programming: Development Tools), FutureTense Texture (Multimedia: Graphics Resources), Java WebIDE (Utilities: Other Utilities), OEW/Java (Programming: Databases), and Visual Java (Programming: Development Tools).

Position Layout

by Danno Ferrin
Contact Info: dferrin@mines.edu
URL: http://www.mines.edu/students/d/dferrin/Cool_Beans
Load Time: Fast
Source Code Included: Yes

Author's Description: Tired of playing games with the awt when trying to place a component inside a container? You can tell Java, "I want my button THERE!"

Name objects by coordinates instead of center, north, or south. Source code for the example and the class PositionLayout are both available for the taking.

PSU Thematic Mapper

by Glenn Riley
Contact Info: rilg@rri.pdx.edu
URL: http://www.ncn.com/~rilg/Mapper/new.htm
Load Time: Fast
Source Code Included: No

Author's Description: An applet that utilizes HTML parameters to produce thematic maps or Oregon county data based on user selections of the category of data, and the year. It allows user selection of display parameters, i.e., display county names and data. It loads quickly and executes very quickly.

This mapping applet displays statistical information about child welfare-related issues per person per county in the state of Oregon. Click on the year to redraw the map.

Figure 10.5 :

SeriesGraph Component

by Russ Ethington
Contact Info: Russ.Eth@ix.netcom.com
URL: http://users.aol.com/thingtone/workshop/graph.htm
Load Time: Very Fast
Source Code Included: Yes

Author's Description: This applet plots multiple data points on a 2-D graph, with axis labels and (soon) a legend.

Plot multiple data sets using information from, in theory, anywhere on the Internet.

Figure 10.6 :

Sliding Lines

by Mohan Kamath
Contact Info: kamath@cs.umass.edu
URL: http://www-css.cs.umass.edu/kamath/java/lines.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: Lines slide is a specific but interesting pattern to create a nice visual effect. The colors of the lines keep changing and the color (RGB) combination is displayed below as the color changes.

Other spirographic-type resources on the Gamelan directory include Live Cycloide and Spirograph (both Multimedia: Graphics Resources); Greg Linden's Home Page, http://streetside.com, and Liny (all Special Effects: Other Special Effects Resources); Limaçons (Education: Other Educational Resources), Squiral and Snowflake Applet (both Art and Entertainment: Other Art and Entertainment Resources).

Learning Java

Getting Started With Java

by Sun Microsystems
Contact Info: java@java.sun.com
URL: http://java.sun.com/starter.html
Load Time: Very Fast
Source Code Included: N/A

Author's Description: Here's a sort of starter kit for newcomers to Java-a route through our Web site for teaching yourself Java and for writing applets and applications as soon as possible.

This page is the "official" road map through Sun's Java tutorial Web site, including step-by-step instructions on how to download and install the Java Developer's Kit, where to find the tutorial online, and links to applet repositories and user groups. Other helpful tutorials on the Gamelan directory include Getting Started With Java (Programming: Learning Java), Java Jolt (Programming: Documents), Living Digital (News: Other News Resources), and Trail Map (Programming: Documents).

Projects

The Applix Espresso Machine

by Applix Inc.
Contact Info: webmaster@applix.com
URL: http://www.applix.com/Espresso
Load Time: Fast
Source Code Included: No

Author's Description: On Nov. 7, 1995, Applix presented a proof-of-content demonstration of its Espresso project: business applications for the Internet. This site provides background information at the current status of the project.

To view the demo you have to register your real name, mailing address, phone numbers and a valid e-mail address with the company-in return, they promise to follow up with a sales call and give you a password. For those inclined to pass on this first option, there are screen shots available.

Balanced Binary Tree Package in Java

by Michael Boom
Contact Info: boomer@mikeboom.com
URL: http://www.mikeboom.com
Load Time: Fast
Source Code Included: Yes

Author's Description: A balanced binary tree package written in Java.

No demos, documentation, or other extras at this applet page-just the tools themselves in pkzip and tar formats, and in uncompressed form.

Java MIDI Clearinghouse

by Jeff Breidenbach
Contact Info: jbreiden@mit.edu
URL: http://www.mit.edu/afs/athena/user/j/b/jbreiden/mz/javamidi.html
Load Time: Very Fast
Source Code Included: No

Links on this page for MIDI users include a status report on the upcoming JavaSoft API; a resource list of people, projects, and other references; and a discussion area. Another MIDI applet on the Gamelan directory worth checking out is Java MIDI (Multimedia: Sound).

MetaMedia Project

by Michael McCool
Contact Info: mccool@uwaterloo.ca
URL: http://www.cgl.uwaterloo.ca/~mccool/Meta
Load Time: Very Fast
Source Code Included: Yes

Author's Description: The MetaMedia project is an attempt to build full support for SGML on top of Java-capable Web browsers.

To quote from this page: "The goals of the metamedia project are the creation and analysis of structured networked executable media." Some examples, documents, and transcripts of speeches given on this subject are also available for the taking.

OS/2 Java Porting

by Mark James
Contact Info: markj@3cat.com
URL: http://www.3cat.com/java_os2/javaos2.html
Load Time: Fast
Source Code Included:

Author's Description: Information on porting Java to OS/2. The archive of the OS/2 Java Porting Mailing Archive. Pointers to other OS/2-Java resources will be added.

FAQs, updates, and a keyword-searchable mailing list archive on Java and OS/2-related topics.

User Interfaces

ANButton.java

by Florian Hars
Contact Info: hars@math.uni-hamburg.de
URL: http://www.math.uni-hamburg.de/~fm5a014/ANButton.html
Load Time: Fast
Source Code Included: Yes

Author's Description: An applet that provides an animated button.

An Impressionist-styled animated button that turns three-dimensional when you roll the cursor over it. Click the button to get to the source code. Other animated button resources on the Gamelan directory include Button Animation (Multimedia: Animation) and AnimButtons (Programming: Graphics).

Figure 10.7 :

Carousel

by MagnaStar Inc.
Contact Info: feedback@magnastar.com
URL: http://www.magnastar.com/carousel
Load Time: Medium Fast
Source Code Included: No

Author's Description: An interactive three-dimensional kiosk for Website navigation. Add as many links and graphics as you like.

It looks like this applet is supposed to spin counterclockwise (hence the name) but on the Windows 95 testing platform it didn't move at all. Clicking the linked individual pictures on the "carousel" still worked, however, so the difficulties during testing may well not affect users with faster connections. Other billboard resources on the Gamelan directory include Ad Space Applet (Miscellaneous: Other Miscellaneous Resources), Interactive Rayshaded Live 3D Cube Logo (Multimedia: Graphics Resources), ImageMap in Java (Special Effects: Imagemaps), MagnaBoard (Special Effects: Text), and Advertisement Panel, Dynamic Billboard, and WApp (all Special Effects: Other Special Effects Resources).

HierCanvas

by William Brogden
Contact Info: wbrogden@bga.com
URL: http://www.bga.com/~wbrogden/javatest.html
Load Time: Medium Fast
Source Code Included: No

Author's Description: Demonstrates a hierarchical browser with dynamic expansion and contraction of categories.

This applet didn't appear at all on the Macintosh testing platform, and it took almost ten minutes to pop up on Windows 95. According to the documentation, you should see information on different dog breeds and dog organizations in Texas. If you like it (if you can see it) you can ask the author for the source code.

Kneedeep in Java

by Stefan Koch
Contact Info: koch@karlsruhe.netsurf.de
URL: http://rummelplatz.uni-mannheim.de/~skock/javatut/kneedeep.html
Load Time: Very Fast
Source Code Included: N/A

Author's Description: Advanced Java programming techniques needed for sophisticated java applets.

This site is not for the nonprogrammer or other novice Java user. It is a thorough, sophisticated tutorial for those who are ready for advanced techniques. The tutorial, at this time, is in three parts accompanied by source code and fully-functional examples. It more than adequately meets the needs of high-end Java users.

PackerLayout

by Daeron Meyer
Contact Info: daeron@geom.umn.edu
URL: http://www.geom.umn.edu/~daeron/apps/ui/pack/gui.html
Load Time: Fast
Source Code Included: Yes

Author's Description: None

Simple, educational, and useful. The source code for all the examples is available on the page.

Figure 10.8 :

PickTest2

by Ron Daniel
Contact Info: rdaniel@lanl.gov
URL: http://www.acl.lanl.gov/~rdaniel/classesJDK/PickTest2.html
Load Time: Fast
Source Code Included: Yes

Author's Description: TeleRadiology demo-navigate through CT scans of lungs.

A Java-based Fantastic Voyage-click and drag the cursor through somebody's lungs, esophagus, etc., while looking at the whole chest on the left and the individual x-rays on the right. Interesting and strange, but cool. Other x-ray resources on the Gamelan directory include PET Viewer (Education: Biology) and Whole Brain Navigator and Radiologic Anatomy Interactive Quiz (both Education: Medicine).

Presentationware

by Mazakazu Fujimiya
Contact Info: GEA03266@niftyserve.or.jp
URL: http://www.asahi-net.or.jp/~FX6M-FJMY/pw01e.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Presentationware makes interactive movies from a simple script file and some still images. Presentationware is a Java applet. If you write an effective script file, Presentationware works like a Director or PowerPoint without any plug-in. Presentationware is FREE.

Note that while this applet is free and can be downloaded from the author's page as a PKZIP file, you must write your own script file to make it function as promised. Also be prepared to wait if you want to watch the demo first-it took at least five minutes to load up on both the Windows 95 and Macintosh testing platforms.

TreeBrowse & TreeEdit

by Stanley Poon
Contact Info: stanpoon@myna.com
URL: http://www.myna.com/~stan
Load Time: Very Fast
Source Code Included: No

Author's Description: TreeBrowse is an interactive tool that can provide functionality similar to directory list boxes in your home pages. It enables World Wide Web page developers to organize their pages in a tree format. It is great for book publishers and people who write online manuals on the World Wide Web.

The source code for both applets is only available by request from the author, so contact him if you want it.

Other Programming Resources

Ask NPAC

by Gang Cheng
Contact Info: gcheng@npac.syr.edu
URL: http://asknpac.npac.syr.edu
Load Time: Very Fast
Source Code Included: No

Author's Description: Northeast Parallel Architecture Center (NPAC), Syracuse University, has developed an archive system for searching/reading Usenet newsgroups, mailing lists, and personal mailboxes from the WWW. Among the archived newsgroups are comp.lang.java and the Java mailing lists.

A collection of links using this applet in many ways-for educational, programming, and job search newsgroups databases, for more information about the NPAC itself, and in "demos" that include a CNY tourism database and a patient record database. FAQs and access statistics are also included.

Figure 10.9 :

Club Java

by Virtual Rendezvous
Contact Info: virtual@rendezvous.com
URL: http://rendezvous.com/java
Load Time: Fast
Source Code Included: No

Author's Description: Club Java is a list of Java resources, groups, FAQs....

This collection includes information on Java books, articles, papers, remote Java compilers, class hierarchy diagrams, and a Java tutorial.

Concurrent Programming in Java

by Doug Lea
Contact Info: dl@altair.cs.oswego.edu
URL: http://g.oswego.edu/dl/pats/aopintro.html
Load Time: Very Fast
Source Code Included: No

Author's Description: When you are developing a concurrent and/or distributed system, modeling and design are almost always simplest if you adopt an active object model; that is, if you assume that every object is an autonomous process-like entity. This draft outlines the author's proposed approach to active objects using Java. This overhauled version now covers concurrent Java programming more generally.

Link from the table of contents to specific pages under the general headings of threads, concurrent objects, and coordination. Also always check the link at the top of the page for the most current changes and updates, because this page is always under construction.

Debug Log

by Adam Doppelt
Contact Info: amd@cs.brown.edu
URL: http://www.cs.brown.edu/people/amd/java/DebugLog
Load Time: Fast
Source Code Included: Yes

Author's Description: DeBugLog can be used in place of System.out. It is basically a window into which text can be written. The text can also be saved to a file, or cleared. The window is automatically created the first time it is used.

The API and source code is available for downloading for free, along with a test applet for, er, testing.

DebugWin

by Grey Associates
Contact Info: grey@greyassoc.com
URL: http://www.greyassoc.com/java/apps/debug.html
Load Time: Fast
Source Code Included: Yes

Author's Description: DebugWin is a simple debugging class aid-it spawns an external window which shows a dynamic display of debugging output.

Download the source code and contact the author(s) for more information.

Digital Espresso

by David Forster
Contact Info: mentor@io.org
URL: http://www.io.org/~mentor/J__Notes.html
Load Time: Fast
Source Code Included: No

Author's Description: Digital Espresso is a weekly summary of the traffic appearing in the Java mailing lists and newsgroups.

A nicely rounded collection of Java-related bits and pieces-announcements, features, discussions, class exchange, FAQ and answers, and more.

Dippy Bird's WinHelp Java Documentation

by Bill Bercik
Contact Info: bill@dippybird.com
URL: http://www.dippybird.com/java.html
Load Time: Very Fast
Source Code Included: No

Author's Description: Get the Java API, White Paper, Language Specs, and other assorted Java documentation in easy-to-read Windows Help (WinHelp) format. This documentation can be easily integrated with your Java IDE.

Read the Download Instructions thoroughly before you jump to the download point-you must have Windows 3.1 or better to be able to view the WinHelp formatted documentation. Other helpful documentation resources on the Gamelan directory include Java and HotJava Documentation; and Java, JavaScript, + Plug-In Documentation in WinHelp (.hlp) Format (both in Programming: Documentation).

The Donut Shop

by Dennis Cronin
Contact Info: denny@cd.com
URL: http://www.cd.com/donut
Load Time: Fast
Source Code Included: No

Author's Description: The Donut Shop is being offered as an alternatie to all the noise and confusion on comp.lang.java. It uses the Newslet threaded newsreader applet/server combo to provide a Usenet-like discussion forum for discussing Java programming issues.

Check out the Newslet applet itself as reviewed in the Gamelan directory (Network and Communication: Chat and Multiuser).

ETL HORB

by S. Hirano
Contact Info: hirano@etl.go.jp
URL: http://ring.etl.go.jp/openlab/horb
Load Time: Fast
Source Code Included: Yes

Author's Description: ETL HORB is a magic carpet for Java. By using HORB with Java, you can create remote objects, call remote methods, pass objects. You can call remote methods from applets. It's a distributed Java!

Everything is here for the taking-the download package contains a language compiler, ORB runtime, the complete source code, and the documentation (user's guide, API documentation, and a FAQ).

GenericServer

by Thomas Lea
Contact Info: leat@goodnet.com
URL: http://www.goodnet.com/~leat/java.html
Load Time: Fast
Source Code Included: Yes

Author's Description: The GenericServer class is an easily customizable multithreaded server. It creates one thread to manage the incoming requests and spawns a thread to serve each new connection. It is VERY easy to modify to suit your needs.

There's no applet demo at this URL-just links to two classes-you'll have to download and install them to try this applet out.

The Interactive Web Programming (Java) Group

by Dave Fisco and Patrick Fitzgerald
Contact Info: pfitz@inch.com
URL: http://www.inch.com/~nyjava
Load Time: Fast
Source Code Included: No

Author's Description: Mission Statement: To promote excellence in engineering for Java and other interactive WWW development exercises. Working Title: "Interactive Web Programming (Java) Study Group" was chosen (for now) as it allows us to study Java development, yet remain vendor-neutral. We encourage vendors and developers not Sun-related (e.g. SGI, NeXT) to speak to our group and inform us of Web development environments alternative to Java. We are a study group of the New York C++ and C SIG.

This URL is this study group's home page, providing information on upcoming meetings, notes and materials on topics from previous meetings, future topics and speakers, and a job postings link.

Java Compiler

by Ronald Tschalär
Contact Info: ronald@innovation.ch
URL: http://www.innovation.ch/java/java_compile.htm
Load Time: Very Fast
Source Code Included: No

Author's Description: This is a Web-based interface to a Java compiler: Enter the names of your Java source files and it will compile them for you and give you a page with links to the .class files. You can also view the resulting applets directly. For people without access to a JDK who want to start writing Java.

Be prepared to have the names of several class files on hand for testing this applet-if the applet's working correctly, it should produce compressed .ZIP and tar files containing the output and class files respectively.

Java CUP

by Scott Hudson
Contact Info: hudson@cc.gatech.edu
URL: http://www.cc.gatech.edu/gvu/people/faculty/hudson/java_cup/home.html
Load Time: Fast
Source Code Included: Yes

Author's Description: Java CUP is a system for generating LALR parsers from simple specifications. It serves the same role as the widely-used program YACC, and in fact offers most of the features of the YACC. However, Java CUP is written in Java, uses specifications including embedded Java code, and produces parsers which are implemented in Java. V0.9e now works with JDK 1.0.

A helpful user's guide is available, along with the source-you can either view it directly or download a version which contains a README file detailing installation information.

Figure 10.10:

The Java Developer

by Steve Alexander
Contact Info: cliffbdf@digitalfocus.com
URL: http://www.digitalfocus.com/digitalfocus/faq
Load Time: Very Fast
Source Code Included: No

Author's Description: The Java Developer is a site which serves as a question & answer forum for the serious Java developer. In this site, questions are posted and answered by a world-wide audience of Java professionals.

Browse the Java Store, chat with other programmers in the Java Conference room, and consult the Job Forum for classified ads.

Java Development Environment Java+

by Alex Gitelman
Contact Info: alexgit@futon.sfsu.edu
URL: http://futon.sfsu.edu/~alexgit
Load Time: Fast
Source Code Included: Yes

Author's Description: Java+ is an attempt to create a user-friendly environment for Java developers working under Windows 95 or NT. Currently it provides a way to work with all Java stuff, such as Java programs and HTML documents in one multidocument application. You will be able to compile the program, view an applet using desired viewer, run with with Sun's debugger. Application also automatically generates an HTML file or allows you to specify a custom one. After that you'll be able to edit parameters or size in a user-friendly way-for example, stretch the applet using your mouse.

Repeat: This applet is for Windows 95 and/or NT users only. Download the .ZIP file and install it to run the demo.

Java Optimization

by Jonathan Hardwick
Contact Info: jch+java@cs.cmu.edu
URL: http://www.cs.cmu.edu/~jch/java/optimization.html
Load Time: Very Fast
Source Code Included: No

Author's Description: Hints and tips on how to optimize Java, including optimizing for speed, for code size, and for maintainability.

A wide selection of things Java, organized by subject in the index frame or chronologically in the main frame. A must-read: the General Rules link, which provides good advice for programmers of every proficiency.

Java Sourcebook Resource Page

by Wiley Computer Publishing
Contact Info: compbks@jwiley.com
URL: http://www.wiley.com/Compbooks/javasrbk/javahome.html
Load Time: Fast
Source Code Included: No

Author's Description: The Java Sourcebook Resource Page contains information about the best-selling title, The Java Sourcebook, by HotWired's Ed Anuff. The page contains up-to-the-minute Java information, including free chapters, complete code, and links to Java browsers, applets, tools, technical specs, and other valuable resources.

Check out the Java Resources list for links, and/or browse the book-related information at the top of the page. There are selected code files available here-example applets, demos, and more-and most are self-explanatory. Other resources on the Gamelan directory related to published Java books include Active Java Book Homepage, The Java Sourcebook, Hooked on Java, and The Java Book Series (all in Programming: Documentation).

JAVASQZ

by Warren Master
Contact Info: 70713.2002@compuserve.com
URL: http://ourworld.compuserve.com/homepages/masterw
Load Time: Fast
Source Code Included: Yes

Author's Description: JavaSqz is a datacompression class for Java developers. Allows any Java program or applet to compress data in files or in memory.

Here's another applet you have to actually download and install before you can check it out-there's a .ZIP file available at the bottom of this URL after a very brief (read as: one sentence) description.

SendMIME.java

by Harm Verbeek
Contact Info: hverbeek@pi.net
URL: http://www.pi.net/~hverbeek/Java.html
Load Time: Very Fast
Source Code Included: Yes

Author's Description: How to send e-mail with attached binary file.

There's not much to this URL, either, in terms of specifics about this applet-the link takes you right to the code and nothing else.

UNGI Introduction à JAVA

by Gilles Maire
Contact Info: Gilles.Maire@Imaginet.fr
URL: http://www.imaginet.fr/ime/java.htm
Load Time: Fast
Source Code Included: No

Author's Description: A French guide explaining "all" about Java and the Internet-free

This URL is executed completely in French-there's no English version page or anything else for Anglophones. Comparable Java tutorials written in English on the Gamelan directory include Getting Started With Java (Programming: Learning Java), Java Jolt (Programming: Documents), Living Digital (News: Other News Resources), and Trail Map (Programming: Documents).