February 1999 -- Java


[February cover image]

FEATURES

JAVA AND LIGHTWEIGHT COMPONENTS

by David K. Perelman-Hall

JDK 1.1 lightweight components let you give programs exactly the same look-and-feel -- no matter which platform hosts the VM. To examine lightweight component development, David presents his dph.awt.lightweight package.

A JAVA APPLET SEARCH ENGINE

by Tim Kientzle

Most search engines are designed for web sites. The Java search engine Tim presents here, however, was designed for use on HTML-based CD-ROMs. The differences might surprise you.

THE JAVA 2D API

by Bill Loeb

The Java 2D API is a set of functions that is a much more flexible and full-featured rendering package than previous versions of the Abstract Windowing Toolkit (AWT). It provides enhanced graphics, text, and image handling, supports color definition and composition, and is extensible.

WRITING JAVABEAN PROPERTY EDITORS

by Morgan Kinne

JavaBeans are reusable software components that can be manipulated by visual programming tools. Morgan shows how you build property editors, focusing on the relationships between the visual tool, property editor, and bean.

PERSONALJAVA AND INFORMATION APPLIANCES, PART II

by Jaison Dolvane and Kumanan Yogaratnam

In the second installment of this two-part article, Jaison and Kumanan examine the hardware requirements for PersonalJava applications, discuss the embedded operating systems that support PersonalJava, and put PersonalJava and Kalos Expresso to work by developing a phone directory application for a web-phone appliance.

JPERL:ACCESSING PERL FROM JAVA

by S. Balamurugan

The Jperl package, written in C++, provides an interface to Perl from Java, and Jperl's APIs also make accessing Perl from C++ simple. This article outlines the capabilities of Jperl and explores its features.

EMBEDDED SYSTEMS

JAVA CARD APPLICATION DEVELOPMENT

by Darryl Barnes

Although the Java Card specification is a subset of Java designed for smart card applications, the Java Card API has little in common with the standard Java API. Darryl discusses Java Card and presents a typical smart card applet.

INTERNET PROGRAMMING

CREATING SIGNED, PERSISTENT JAVA APPLETS

by Paul Brigner

Both Netscape and Microsoft have facilities for signed, persistent applet deployment that extends the Java security framework. This should come as no surprise; however, that doesn't mean that you use these facilities the same way.

PROGRAMMER'S TOOLCHEST

COMPARING WFC AND JFC

by David M. Johnson

David compares Microsoft's Windows Foundation Classes (WFC) with Sun's Java Foundation Classes (JFC) framework by developing an Internet Relay Chat (IRC) chat-client called "Relay."

DESIGN BY INTERFACE

by Robb Shecter

Robb presents step-by-step instructions for making applications both reusable and independent using a technique called "design by interface" and the NetComponents class library from ORO.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Carl Sassenrath is a rebel with a cause -- and that cause is Rebol, a messaging-based programming language designed for networks and the Internet.

C PROGRAMMING

by Al Stevens

Quincy 99 goes into testing, as Al prepares it for use for developing D-Flat 2000, a Win32 application framework that uses Standard C++ features.

JAVA Q&A

by Dave Angel and Andy Wilson

Dave and Andy show how you can store a Java app in a self-executing encrypted file. In doing so, they present CodePacker, a custom loader that is both easy to install -- it's self-extracting -- and secure.

ALGORITHM ALLEY

by Andrew Colin

The analytic hierarchy process (AHP) is a decision-making tool reducing complex decisions to a series of comparisons and rankings. The results are then combined to give a single, unequivocal result.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Dr. Ecco and Liane dig up some dirt about archeologists in this month's installment.

PROGRAMMER'S BOOKSHELF

by Gregory V. Wilson

Greg looks at a number of books this month, including The Essence of SQL, by David Rozenshtein, The Perl Cookbook, by Tom Christiansen and Nathan Torkington, High Performance Computing, Second Edition, by Kevin Dowd and Charles Severance, JavaScript for the World Wide Web, Second Edition, by Tom Negrino and Dori Smith, AntiPatterns, by William J. Brown, Raphael C. Malveau, Hays W. McCormick III, and Thomas J. Mowbray, and Beginning Object-Oriented Analysis and Design with C++, by Jesse Liberty.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine