nable the implementation of the high-level graphical programming APIs. James Gosling is the creator of the Java programming language and Frank Yellin is a staff engineer in the Java Products Group at Sun Microsystems.
"synopsis" may belong to another edition of this title.
PREFACE
A Bit of HistoryJava is a general-purpose object-oriented programming language. Its syntax is similar to C and C++, but it omits semantic features that make C and C++ complex, confusing, and insecure. Java was initially developed to address the problems of building software for small distributed systems to embed in consumer devices. As such it was designed for heterogeneous networks, multiple host architectures, and secure delivery. To meet these requirements, compiled Java code had to survive transport across networks, operate on any client, and assure the client that it was safe to run.
The popularization of the World Wide Web helped catapult these attributes of Java into the limelight. The Internet demonstrated how interesting, media-rich content could be made accessible in simple ways. Web browsers like Mosaic enabled millions of people to roam the Net and made Web surfing part of popular culture. At last there was a medium where what you saw and heard was essentially the same whether you were using a Mac, PC, or UNIX machine, connected to a high-speed network or a modem.
With popularity comes scrutiny, however, and soon Web enthusiasts felt that the content supported by the Web's HTML document format was too limited. HTML extensions, such as forms, only highlighted those limitations while making it clear that no browser could include all the features users wanted. Extensibility was the answer. At just this time the Java programming language found itself looking for another application.
Sun's HotJava browser was developed to showcase Java's interesting properties by making it possible to embed Java programs inside Web pages. These Java programs, known as applets, are transparently downloaded into the HotJava browser along with the HTML pages in which they appear. Before being accepted by the browser, applets are carefully checked to make sure they are safe. Like HTML pages, compiled Java programs are network- and platform-independent. Applets behave the same regardless of where they come from or what kind of machine they are being loaded into.
The Web community quickly noticed that Java was something new and important. With Java as the extension language, a Web browser could have limitless capabilities. Programmers could write an applet once and it would then run on any machine, anywhere. Visitors to Java-powered Web pages could use the content found there with confidence that nothing would damage their machine.
With applets as the initial focus, Java has demonstrated a new way to make use of the Internet to distribute software. This new paradigm goes beyond browsers. We believe it is an innovation with the potential to change the course of computing.
Tim Lindholm
Senior Staff Engineer
JavaSoft
April 1996
About the Java SeriesThe Java Series provides definitive reference documentation for Java programmers and end users. These books are written by members of the Java Team and published under the auspices of JavaSoft, a Sun Microsystems business. The World Wide Web allows Java documentation to be made available over the Internet, either by downloading or as hypertext. Nevertheless, the world wide interest in Java led us to write these books.Our editor, Mike Hendrickson, and his team have done a superb job of navigating us through the world of publishing. The support of James Gosling, Ruth Hennigar, and Bill Joy of Sun Microsystems ensured that this series would have the resources it needed to be successful. A personal note of thanks to my children, Christopher and James, for putting a positive spin on the many trips to my office during the development of the Series.
Lisa Friendly
Series Editor
Contributors to the APIDesigners of Classes and InterfacesTom Ball
Lee Boynton
Patrick Chan
David Connelly
Pavani Diwanji
Amy Fowler
James Gosling
Jim Graham
Herb Jellinek
Bill Joy
Tim Lindholm
Sami Shaio
Doug Stein
Arthur van Hoff
Chris Warth
Frank Yellin
TestersCarla Schroer
Kevin Smith
Vijay Srinivasan
Headley Williamson
Layout and Supplemental DocumentationLisa Friendly
James Gosling
Jonni Kanerva
Guy Steele
Annette Wagner
Kathy Walrath
Frank Yellin
About the Java PackagesThese two volumes describe the Java Application Programming Interface (API), a standard set of libraries for writing Java programs. The libraries evolved over several years of writing Java code to implement a variety of systems, ranging from consumer device networks to animated user interfaces to operating systems to compilers. In 1995, the libraries were reorganized to support Internet programming, and thus the Java API was created. Many people, both from inside and outside Sun, have been involved in the design of the API.
Although the API has not reached perfection yet, we believe it is useful and hope to make it a ubiquitous layer, available to all Internet applications.
Have fun.
Arthur van Hoff
IntroductionThese books are reference manuals for Java application and applet programmers. To make full use of them you should be familiar with the Java programming language and its core concepts such as object orientation, garbage collection, and multithreading.
The extent of the API and the choice of functionality have been driven by several factors. First and foremost, the API should be simple and easy to use. Parts of the API, such as the support for multithreading, might introduce functionality that is new to you, but we think you will find these new concepts simpler and easier to use than in most other programming environments.
The libraries in these books are the first generation of an API for writing Internet programs. A simple form of an Internet program is an applet-a small Java program that can be embedded in an HTML page.
The API has been designed with the Java language in mind. Important Java features such as object orientation, garbage collection, and multithreading played an important role in the API design. Instead of taking existing libraries and simply rewriting them in Java, we designed and implemented the API with full use of the Java language.
For Java 1.0, we have tried to stay away from certain complex functionality, such as video and 3D, so that library implementations can be ported easily. We can include only functionality that is not proprietary and that is easily implemented on many platforms.
We expect to add to the API, but not to subtract from it or change its behavior. The API documented in this book will remain available to all Java programs through future releases.
If you have ideas about how the API could be improved or how to implement some of the missing functionality, we would like to hear from you. Please send your ideas and implementations to java@java.sun.
Using These API BooksDo not get overwhelmed by the multitude of classes documented in these two books. The structure of the Java language encourages the programmer to break up libraries into many classes, each describing a small part of the functionality. The class diagrams in the following section are a good starting point for getting an impression of the relationships among classes.
As you design and implement Java programs, you should write short test programs to verify your understanding of the classes.Another good source of information is the newsgroup comp.lang.java.
Package OverviewThis overview describes each package in the Java API, starting with the most general-purpose package (java.lang) and ending with one of the most specialized packages (java.applet). Each package groups classes and interfaces that have similar functionality. The API contains the following packages:
Volume I: Core Packages
java.lang: The Java Language Package
java.io: The Java I/O Package
java.util: The Java Utility Package
java: The Java Networking Package
Volume 2: Window Toolkit and Applets
java.awt: The Abstract Window Toolkit (AWT) Package
java.awt.image: The AWT Image Package
java.awt.peer: The AWT Peer Package
java.applet: The Java Applet Package
java.lang: The Java Language PackageThe java.lang package provides the classes and interfaces that form the core of the Java language and the Java Virtual Machine. For example, the classes Object, String, and Thread are used by almost every program and are closely intertwined with the Java language definition. Other java.lang classes define the exceptions and errors that the Java Virtual Machine can throw.
Another set of java.lang classes provide wrappers for primitive types. For example, the Integer class provides objects to contain int values.
Still other classes, such as ClassLoader, Process, Runtime, Security-Manager, and System, provide access to system resources. For other generally useful classes, see the java.util package.
The java.lang package is imported automatically into every Java program.
java.io: The Java I/O PackageThe java.io package provides a set of input and output (I/O) streams used to read and write data to files or other I/O sources. Java streams are byte oriented and the classes defined here can be chained to implement more sophisticated stream functionality.
java.util: The Java Utility PackageThe java.util package contains a collection of utility classes and related interfaces. It includes classes that provide generic data structures (Dictionary, Hashtable, Stack, Vector), string manipulation (StringTokenizer), and calendar and date utilities (Date).
The java.util package also contains the Observer interface and Observable class, which allow objects to notify one another when they change.
java: The Java Networking PackageThe java package contains networking classes and interfaces, including classes that represent a URL and a URL connection, classes that implement a socket connection, and a class that represents an Internet address.
java.awt: The Abstract Window Toolkit (AWT) PackageThe java.awt package provides the standard graphical user interface (GUI) elements such as buttons, lists, menus, and text areas. It also includes containers (such as windows and menu bars) and higher-level components (such as dialogs for opening and saving files). The AWT contains two more packages: java.awt.image and java.awt.peer.
java.awt.image: The AWT Image PackageThe java.awt.image package contains classes and interfaces for performing sophisticated image processing. These classes and interfaces can be used by applications that need to create or manipulate images and colors.
java.awt.peer: The AWT Peer PackageThe java.awt.peer package contains interfaces used to connect AWT components to their window system-specific implementations (such as Motif widgets).
Unless you are creating a window system-specific implementation of the AWT, you should not need to use the interfaces in the java.awt.peer package.
java.applet: The Applet PackageThe java.applet package contains classes and interfaces for creating applets.
ReferencesIEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std. 754-1985. Available from Global Engineering Documents, 15 Inverness Way East, Englewood, Colorado 80112-5704 USA, 303-792-2181 or 800-854-7179.
The Unicode Standard: Worldwide Character Encoding, Version 1.0, Volume 1 ISBN 0-201-56788-1 and Volume 2 ISBN 0-201-60845-6. Additional information about Unicode 1.1 may be found at ftp://unicode.
0201634597P04062001
The popularization of the World Wide Web has catapulted the Java language into the limelight. Java is a general-purpose, object-oriented language that was designed to be robust, secure, and to run on a variety of machines and operating systems. Like HTML pages, compiled Java programs are network- and platform-independent. With Java as an extension language, Web browsers can have almost unlimited capabilities.
The Java Application Programming Interface describes the libraries that every programmer can use to write Java applications and applets. These two volumes were written by the development team that created the Java API. They are authoritative, accurate, comprehensive, and completely up to date.
Volume 1: Core Packages describes the libraries that are the foundation of the Java language. These libraries include java.lang, java.io. java.util, and java.net. These are the general-purpose libraries fundamental to every Java program.
Volume 2: Window Toolkit and Applets describes the libraries that you can use to create sophisticated and visually appealing Java applications and applets. In addition, this volume illustrates how you can create embedded programs that can be transported safely across the network. These libraries include java.awt, java.awt.image, java.awt.peer, and java.applet.
Every Java programmer who wants to create secure, efficient, portable, and robust applications should have a thorough knowledge of the Java API.
0201634597B04062001
"About this title" may belong to another edition of this title.
Shipping:
FREE
Within U.S.A.
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00072112443
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Fair. No Jacket. Readable copy. Pages may have considerable notes/highlighting. ~ ThriftBooks: Read More, Spend Less 1.55. Seller Inventory # G0201634597I5N00
Quantity: 1 available
Seller: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.55. Seller Inventory # G0201634597I3N00
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1.55. Seller Inventory # G0201634597I4N00
Quantity: 1 available
Seller: Hawking Books, Edgewood, TX, U.S.A.
Condition: Very Good. Very Good Condition. Five star seller - Buy with confidence!. Seller Inventory # X0201634597X2
Quantity: 1 available
Seller: Better World Books: West, Reno, NV, U.S.A.
Condition: Very Good. 1st. Used book that is in excellent condition. May show signs of wear or have minor defects. Seller Inventory # 12432789-6
Quantity: 1 available
Seller: Better World Books Ltd, Dunfermline, United Kingdom
Condition: Good. 1st. Ships from the UK. Former library book; may include library markings. Used book that is in clean, average condition without any missing pages. Seller Inventory # GRP63982320
Quantity: 1 available
Seller: a2zbooks, Burgin, KY, U.S.A.
Softcover. Condition: Fair. Edition Unstated. Used excellent condition, minor shelf wear to cover, all pages clean Quantity Available: 1. Category: Computers & Internet; ISBN: 0201634597. ISBN/EAN: 9780201634594. Pictures of this item not already displayed here available upon request. Inventory No: ABE293385808. Seller Inventory # ABE293385808
Quantity: 1 available
Seller: BooksByLisa, Highland Park, IL, U.S.A.
Soft cover. Condition: New. First Edition. STORED NEW PRISTINE CONDITION SANITIZED THEN WRAPPED; Book. Seller Inventory # 2176
Quantity: 1 available
Seller: a2zbooks, Burgin, KY, U.S.A.
Softcover. Condition: Very Good. Edition Unstated. All pages clean. Front cover is wrinkled. Overall still a good looking book. Quantity Available: 1. Category: Computers & Internet; ISBN: 0201634597. ISBN/EAN: 9780201634594. Pictures of this item not already displayed here available upon request. Inventory No: 1560717945. Seller Inventory # 1560717945
Quantity: 1 available