Copyright ?2003 by Jonathan Knudsen
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.
Printed and bound in the United States of America 12345678910
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
Technical Reviewer: Michael Yuan
Editorial Directors: Dan Appleman, Gary Cornell, Simon Hayes, Martin Streicher, Karen Watterson, John Zukowski
Managing and Production Editor: Grace Wong
Copy Editor: Rebecca Rider
Proofreader: Gregory Teague
Compositor: Diana Van Winkle, Van Winkle Design Group
Indexer: Valerie Perry
Artist and Cover Designer: Kurt Krames
Manufacturing Manager: Tom Debolski
Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 175 Fifth Avenue, New York, NY, 10010 and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr. 17, 69112 Heidelberg, Germany
In the United States, phone 1-800-SPRINGER, email <orders@springer-ny.com>, or visit http://www.springer-ny.com.
Outside the United States, fax +49 6221 345229, email <orders@springer.de>, or visit http://www.springer.de.
For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax: 510-549-5939, email <info@apress.com>, or visit http://www.apress.com.
The information in this book is distributed on an "as is" basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.
The source code for this book is available to readers at http://www.apress.com in the Downloads section.
To Andrew and Elena
Acknowledgments
Thanks to all the folks at Apress for helping get this book done. Thanks to Gary Cornell for talking me into this book in the first place. Grace Wong was my project manager, a job I could never have. She was very nice about all of my delays and a pleasure to work with. My copy editor, Rebecca Rider, put up with my formatting idiosyncrasies and tightened the book up a lot. Thanks to Michael Yuan for an excellent technical review.
My family now has permission to slap me upside the head if I ever consider taking on a project like this again. Thanks to everyone—Kristen, Daphne, Luke, Andy, and Elena—for putting up with me.
About the Author
Jonathan Knudsen is the author of several other Java books, including Learning Java, Java 2D Graphics, and Java Cryptography. He is also the author of The Unofficial Guide to LEGO MINDSTORMS Robots, but, sadly, was unable to parlay that success into a full-time career. Jonathan has written numerous articles about Java and a few about LEGO robots as well. He is the father of four children and enjoys bicycling and playing the piano. For more information, see http://jonathanknudsen.com/.