Java By Example

Clayton Walnum


C  O  N  T  E  N  T  S




Introduction

Chapter 1   Java Overview

Chapter 2   Running Java Applets

Chapter 3   Applets and the Internet

Chapter 4   Object-Oriented Programming Concepts

Chapter 5   Constants and Variables

Chapter 6   Simple Input and Output

Chapter 7   Math Operators

Chapter 8   Expressions

Chapter 9   The if and switch Statements

Chapter 10   The while and do-while Loops

Chapter 11   The for Loop

Chapter 12   Functions

Chapter 13   Arrays

Chapter 14   Classes

Chapter 15   Writing a Simple Applet

Chapter 16   Drawing Graphics

Chapter 17   Graphical Text

Chapter 18   Label and Button Controls

Chapter 19   Checkbox and TextField Controls

Chapter 20   Choice Menu, Text Area, and Scrolling List Controls

Chapter 21   Scrollbar and Canvas Controls

Chapter 22   Panels and Layout Managers

Chapter 23   Windows and Menu Bars

Chapter 24   Dialog Boxes

Chapter 25   Mouse and Keyboard Events

Chapter 26   Configurable Applets

Chapter 27   Images and Sounds

Chapter 28   Communications

Chapter 29   Packages and Interfaces

Chapter 30   Exceptions

Chapter 31   Threads

Chapter 32   Writing Java Applications

Chapter 33   Development Tools Overview

Chapter 34   Using the Compiler

Chapter 35   Using the Interpreter

Chapter 36   The Java Class Libraries

Appendix A   Answers to Review Questions

Appendix B   Glossary

Appendix C   IDEs and Tools


Credits


Java By Example

Copyright© 1996 by Que® Corporation

All rights reserved. Printed in the United States of America. No part of this book may be used or reproduced in any form or by any means, or stored in a database or retrieval system, without prior written permission of the publisher except in the case of brief quotations embodied in critical articles and reviews. Making copies of any part of this book for any purpose other than your own personal use is a violation of United States copyright laws. For information, address Que Corporation, 201 W. 103rd Street, Indianapolis, IN 46290. You may reach Que's direct sales line by calling 1-800-428-5331.

ISBN: 0-7897-0814-0

This book is sold as is, without warranty of any kind, either express or implied, respecting the contents of this book, including but not limited to implied warranties for the book's quality, performance, merchantability, or fitness for any particular purpose. Neither Que Corporation nor its dealers or distributors shall be liable to the purchaser or any other person or entity with respect to any liability, loss, or damage caused or alleged to have been caused directly or indirectly by this book.

All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Que cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.


HTML conversion by :
    M/s. LeafWriters (India) Pvt. Ltd.
    Website : http://leaf.stpn.soft.net
    e-mail : leafwriters@leaf.stpn.soft.net
President and Publisher :Roland Elgey
Associate Publisher :Joseph B. Wikert
Director of Marketing :Lynn E. Zingraf

Editorial Services DirectorElizabeth Keaffaber Managing EditorSandy Doell
Title ManagerBryan Gambrel Acquisitions EditorFred Stone
Product DirectorBen Milstead Production EditorMitzi Foster Gianakos
EditorsAnne Owen,
Joe Williams
Assistant Product Marketing Manager Kim Margolius
Technical EditorsDavid Medinets Acquisitions CoordinatorJane Brownlow
Operations CoordinatorPatty Brooks Editorial AssistantAndrea Duvall
Book DesignerKim Scott Cover DesignerRuth Harvey
Production TeamSteve Adams, Marcia Brizendine, Jason Carr, Jenny Earhart, Joan Evan, Jessica Ford, Trey Frank, Amy Gornik, Jason Hand, Daniel Harris, Damon Jordan, Daryl Kessler, Clint Lahnen, Bob LaRoche, Kaylene Riemen, Laura Robbins, Bobbi Satterfield, Kelly Warner, Jeff Yesh, Jody York
Indexer   John Hulse


About the Author

Clayton Walnum, who has a degree in computer science, has been writing about computers for almost 15 years and has published hundreds of articles in major computer publications. He is also the author of over 25 books, which cover such diverse topics as programming, computer gaming, and application programs. His most recent book is Windows 95 Game SDK Strategy Guide, also published by Que. His other titles include the award-winning Building Windows 95 Applications with Visual Basic (Que), 3-D Graphics Programming with OpenGL (Que), Borland C++ 4.x Tips, Tricks, and Traps (Que), Turbo C++ for Rookies (Que), Dungeons of Discovery (Que), PC Picasso: A Child's Computer Drawing Kit (Sams), Powermonger: The Official Strategy Guide (Prima), DataMania: A Child's Computer Organizer (Alpha Kids), Adventures in Artificial Life (Que), and C-manship Complete (Taylor Ridge Books). Mr. Walnum lives in Connecticut with his wife Lynn and their four children, Christopher, Justin, Stephen, and Caitlynn.


Acknowledgments

I would like to thank the following people for their contribution to this book: Joe Wikert for his confidence in my writing; Fred Slone for keeping everything running smoothly; Mitzi Gianakos, Anne Owen, and Joe Williams for keeping my abuse of the English language to a minimum; David Medinets for checking the facts; and all the other fine folks at Que. And, as always, thanks to my family-Lynn, Christopher, Justin, Stephen, and Caitlynn.


We'd Like to Hear from You!

As part of our continuing effort to produce books of the highest possible quality, Que would like to hear your comments. To stay competitive, we really want you, as a computer book reader and user, to let us know what you like or dislike most about this book or other Que products.

You can mail comments, ideas, or suggestions for improving future editions to the address below, or send us a fax at (317) 581-4663. Our staff and authors are available for questions and comments through our Internet site at http://www.mcp.com/que., and Macmillan Computer Publishing also has a forum on CompuServe (type GO QUEBOOKS at any prompt).

In addition to exploring our forum, please feel free to contact me personally to discuss your opinions of this book: I'm bmilstead@que.mcp.com on the Internet, and 102121,1324 on CompuServe.

Thanks in advance-your comments will help us to continue publishing the best books available on computer topics in today's market.

Ben Milstead
Product Director
Que Corporation
201 W. 103rd Street
Indianapolis, Indiana 46290
USA

Introduction

The Internet is growing by leaps and bounds. It won't be too long before you'll be able to contact just about anyone online, not only your friends and acquaintances, but also every major company in the country. This incredible growth is the pathway to opportunity. Everybody who's anybody in the world of telecommunications is looking for ways to enhance the Internet's online experience. One company that has scored a big hit on the Internet is Sun Microsystems, who recently released an unusual programming language called Java. Once people got their hands on Java, the Internet was guaranteed to never be the same again.

What's so special about Java? Java enables programmers to create something called applets. Applets are special computer programs that can be included as an element of a Web page. When the user views a Web page containing one of these applets, the machine he's connected to automatically sends the applet to the user and the user's own Java-compatible browser runs the applet. Because applets are transferred in a non-machine-specific form, they can run on any machine that has a Java interpreter.

Using Java, you can do everything from adding simple animation to your Web pages to writing sophisticated computer programs that your Web page's users can use online. Applets that have already been released include games, spreadsheets, graphing programs, animation controllers, simulators, and much, much more. Java is so intriguing and so successful that even major players in the industry, including Netscape and Microsoft, have jumped aboard, providing Java-compatible software for the Internet.

In this book, you'll learn not only how Java applets work on the Internet, but also how to include Java applets in your Web pages. More importantly, you'll learn step-by-step how to write your own applets. You can write these applets for your own personal use, or write them for general release on the Internet. Imagine the thrill of seeing one of your own Java creations being used on Web pages all over the world!

Who This Book Is For

This book is the perfect starting point for anyone wanting to learn from scratch about Java. Although it's helpful to have previous programming experience (especially with C or C++), this book includes a complete tutorial on the Java language and how to build applets with it. The Java tools, such as the compiler and interpreter, that you'll need to create your own applets are described in detail. Moreover, you'll learn the Java language starting from the very basics and working your way toward writing full-featured applets and applications.

Although this book is suitable for programming novices, more experienced programmers will find a great deal of interest here, as well. If you're already familiar with languages such as C and C++, you'll be able to skim over the Java language introduction and dive right into the business of creating applets. Although the Java language is very much like C++, the way it's used is unique. Up until Java, you've never seen anything quite like applets.

To summarize, this book is for both novice and intermediate programmers. Novice programmers will get a gentle introduction to the Java language, whereas more experienced programmers can concentrate on getting the most from the language by quickly learning how to build powerful applets for the Internet. Even expert programmers may find this book to be a useful introduction to the world of Java.

Hardware and Software Requirements

The Java language is currently supported on Windows 95, Windows NT, Sun Solaris, Macintosh, and UNIX machines. Most of this book's content is applicable to any type of computer that can run the Java Developers Kit. However, because Windows 95 will undoubtedly be the operating system under which the greatest majority of Java applets are created, the programs and examples in this book were written for the Windows 95 version of Java. Still, as long as you're familiar with your computer's operating system, you should have little difficulty following the examples in this book no matter what machine you use.

The minimum system requirements for Windows 95 or NT users are as follows:

* If you don't care about hearing sound files with Java's applets, you don't need a sound card.

The CD-ROM included with this book runs on Windows machines and includes the Windows versions of the Java Developers Kit and the HotJava Web browser. Users of other systems can get a copy of the Java Developers Kit for their machine from Sun Microsystems' Web site at http://www.sun.com.

Compiling the Programs in This Book

As you work through the examples in this book, you'll learn to install the Java Developers Kit and to compile the example programs that are presented in each chapter. In general, though, you can compile the programs in this book by following the procedures given here.

First, you must have the Java Development Kit installed on your system, using the default root directory of C:\JAVA. It would also be useful to have a copy of Netscape Navigator 2.0 installed. You can get a copy of this Java-compatible browser from Netscape's Web site at http://www.netscape.com.

After installing the Java Development Kit, you must include the kit's path in your system's PATH statement. To do this, load your system files with SYSEDIT.EXE (you can find SYSEDIT.EXE in your WINDOWS\SYSTEM directory). When you start SYSEDIT, go to the AUTOEXEC.BAT window and find the PATH statement. At the end of the PATH statement, add a semicolon followed by the path C:\JAVA\BIN. Then, save the changes and restart your machine so the changes take effect. Adding the path to your PATH statement ensures that the system can find Java's tools.

Finally, you should create a directory called C:\CLASSES in which you will place the Java files you create throughout this book. To compile and run an applet's Java source-code file, follow these steps:

  1. Select the Start/Programs/MS-DOS Prompt command from the Start menu. A DOS window appears.
  2. Change to the C:\CLASSES directory by typing cd c:\classes at the DOS prompt.
  3. Type javac filename.java, where filename.java is the name of the Java source-code file you want to compile. After compilation is complete, you should have a file called filename.class in the directory, where filename is the same program name you used for the .java source-code file. The .class file is the compiled Java program.
  4. Create an HTML document containing the <applet> tag for the applet you want to run (see the following example). Save this HTML document in the C:\CLASSES directory.
  5. To run the applet, type appletviewer filename.html, where filename.html is the name of the HTML document containing your applet's <applet> tag.

You can usually use the same HTML document for each applet just by changing the name of the applet in the document. Here is an example of a simple HTML document that will load and run an applet:


<applet

    code="filename.class"

    width=250

    height=250>

</applet>

In this HTML document, filename.class is the name of the compiled applet you want to run. Just change this file name for a new applet, and you're ready to go. You can also set the size of the applet when it runs by changing the values following the width and height parameters.

Running a Java stand-alone application is a little different. To compile the application, follow steps 1 through 3 above. To run the application type the command java filename, where filename is the name of the compiled Java application minus the .class file extension. This command line invokes the Java interpreter rather than the Appletviewer application.

A Word to the Wise

As every programmer knows, a good program is virtually crash-proof. Error checking must be done for every action that may fail, and appropriate error messages must be given to the user. Unfortunately, good error checking requires a lot of extra program code. For the programmer working on his next magnum opus, this is all just part of the game. But for an author writing a programming book, this extra code has different implications.

A programming book should present its topics in as clear a manner as possible. This means featuring programs whose source code is not obscured by a lot of details that don't apply directly to the topic at hand. For this reason, the programs in this book do not always employ proper error checking. For example, user input often goes unverified and dynamic construction of objects is assumed to be successful.

In short, if you use any of the code in this book in your own programs, it's up to you to add whatever error checking may have been left out. Never assume anything in your programs. Any place in your code that you can't be 100 percent sure of your program's state, you must add error checking to ensure that the program doesn't come crashing down on your user. Just because this book's author may have been lax in his error checking (for good reasons), does not let you off the hook.

On to the Wonderful World of Java

If you're still reading this introduction, you're probably convinced that Java is something you really want to learn about. If you're interested in the Internet, that decision is a wise one. (If, on the other hand, you thought this was a book of coffee recipes, return this book to the shelf and leave the store.) At this point, Java is virtually guaranteed its place in Internet history. Want to know why? Turn the page and keep reading.

Clayton Walnum, May 1996