Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API
By 1984 users had numerous productivity packages to choose from. They could crunch numbers, write proposals, and query databases with near complete abandon. There was only one small problem. Most of the available applications sported only primitive data sharing capabilities (if they offered support for data sharing at all).
The consequence? In order to create a compound document composed of text, graphs, tables, and charts, a user had to cut and paste -- and I mean literally cut and paste.
In January 1984, Apple launched the Macintosh. Compared with its competitors, the Mac had several obvious advantages:
One such shared resource was the clipboard. The clipboard allowed users to move data between applications by cutting or copying the data from one document (into the clipboard) and pasting it into another (from the clipboard).
The clipboard turned out to be a very powerful data transfer model. It worked so well, in fact, that to this day every GUI platform supports some form of clipboard functionality.
In order to be successful, Java can provide no less.
The architects of the Java class library had several requirements in mind when they designed the classes that implement data transfer.
First, the mechanism should be general enough to handle all current and any future data-transfer models. In particular, it should support both the clipboard model and the drag-and-drop model, using the same underlying machinery. Second, it should allow the programmer to create and transfer data types beyond those known or envisioned by the architects themselves. Finally, it should allow data transfer between Java applications and non-Java applications.
Let's take a look at what they came up with.
The data that applications transfer comes in many types -- text data and image data being two of the most obvious types. Each of these data types can appear in a number of different formats (or flavors, to use the term the Java architects selected).
Let's consider why a data type may exist in many flavors.
A application typically stores and transfers data in a data format designed to support the features the application provides. For example, a word processing application must store text as well as embedded formatting instructions, while a text editor stores only text. Each application's preferred storage format reflects this fact.
Now imagine what would happen if I tried to transfer data between the two applications. The word processor might understand plain text, but the text editor would surely be confused by the embedded formatting instructions. Considering that there are as many proprietary text formats as there are software vendors, the situation quickly degenerates into a hopeless mess.
Transferable interface http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.Transferable.html
DataFlavor class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.DataFlavor.html
Clipboard class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.ClipboardOwner.html
ClipboardOwner class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.Clipboardowner.html
java.io package -- class Reader and class Writer -- to filter out unwanted e-mail.
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq