The Imagemap Applet

Clicking one one of the buttons will make your browser jump to the appropriate section of the table of contents below. Note the use of the status line.

## Java in a Nutshell: Table of Contents

    How to Use This Book   xi
    Preface   xvii

    Part I:  Introducing Java:

    Section 1: Getting Started with Java   3
     Why Java? 4
     What Is Java? 4
     A Simple Example 10

    Section 2: How Java Differs from C   15
     Program Structure and Environment 15
     The Name Space: Packages, Classes, and Fields 17
     Comments 21
     No Preprocessor 21
     Unicode and Character Escapes 23
     Primitive Data Types 24
     Reference Data Types 25
     Objects 28
     Arrays 29
     Strings 33
     Operators 33
     Statements 35
     Exceptions and Exception Handling 39
     Miscellaneous Differences 45

    Section 3: Classes and Objects in Java   49
     Introduction to Classes and Objects 50
     Object Creation 52
     Class Variables 54
     Class Methods 56
     Object Destruction 60
     Subclasses and Inheritance 62
     Overriding Methods 68
     Data Hiding and Encapsulation 71
     Abstract Classes and Interfaces 75
     C++ Features Not Found in Java 80
     Section Summary 80

    Part II:  Programming with the Java API

    Section 4: Applets   85
     A First Applet 85
     Drawing Graphics 86
     Handling Events 88
     Events in Detail 89
     Reading Applet Parameters 92
     Adding a Button 93
     An Imagemap 95
     Animation 98
     Sound 100
     Standalone Applets 101

    Section 5: Graphical User Interfaces   103
     An Information Dialog 103
     A Dialog with User Response 106
     All Java GUI Components 108
     Handling GUI Events 114
     Working with Scrollbars 117
     Defining a Custom Component 120

    Section 6: Input and Output   125
     Reading and Displaying Files 125
     Getting Directory and File Information 127
     Copying a File 131
     Filtering Input 133
     Pipes 135

    Section 7: Networking   141
     Downloading the Contents of a URL 141
     Using a URLConnection 142
     Sending and Receiving Datagrams 143
     Implementing a Server 145
     Implementing a Client 147
     An Applet Client 149

    Section 8: Advanced Graphics and Images  151
     Smooth Animation 151
     Keeping Track of Images 155
     Filtering Images 157

    Section 9: Advanced Threads   161
     Threads and Thread Groups 161
     synchronized, wait(), and notify() 164
     A Multithreaded Client 169

    Part III:  Java Language Reference

    Section 10: Java Syntax   175
     Primitive Data Types 175
     Character Escape Sequences 176
     Operators 176
     Modifiers 179
     Reserved Words 181
     Java Documentation Comment Syntax 181

    Section 11: Events   183
     Event Types 183
     Key and Modifier Constants 185
     Mouse Buttons 186

    Section 12: Fonts, Colors, and Cursors   187
     Fonts 187
     Colors 189
     Cursors 190

    Section 13: System Properties and Applet Parameters  193
     Standard System Properties 193
     Other Important Properties 194
     Specifying Property Values 195
     Applet Parameters 195

    Section 14: Applet Security   197
     Applet Security Restrictions 197
     Loading Classes Securely 199
     Denial of Service Attacks 199
     Future Directions: Applet Certification 200

    Section 15: Java-Related HTML and HTTP Syntax  201
     The <APPLET> Tag 201
     The <EMBED> Tag 203
     Java-Related HTTP 203

    Section 16: The Unicode Standard   205

    The UTF-8 Encoding 208

    Section 17: JDK Development Tools   211
     appletviewer -- The Java Applet Viewer 211
     java -- The Java Interpreter 214
     javac -- The Java Compiler 218
     javadoc -- The Java Documentation Generator 220
     javah -- Native Method C File Generator 222
     javap -- The Java Class Disassembler 224
     jdb -- The Java Debugger 226

    Part IV:  API Quick Reference

    Section 18 -- The java.applet Package   233
    Section 19 -- The java.awt Package   237
    Section 20 -- The java.awt.image Package   271
    Section 21 -- The java.awt.peer Package   281
    Section 22 -- The java.io Package   289
    Section 23 -- The java.lang Package   309
    Section 24 -- The java.net Package   329
    Section 25 -- The java.util Package   339
    Section 26 -- Java Errors and Exceptions   349

    Part V:  API Cross References

    Section 27 -- Class Defined-In Index   367
    Section 28 -- Method Defined-In Index   371
    Section 29 -- Subclass Index   381
    Section 30 -- Implemented-By Index   383
    Section 31 -- Returned-By Index   385
    Section 32 -- Passed-To Index   389
    Section 33 -- Thrown-By Index   395

    Glossary   399
    Index   421