JAVA JUMP START: A Beginner's Guide to Internet Programming

I. Getting Oriented to Java. 1. Introduction. What Is Java? What Are Java Enabled Browsers? Where Does Java Fit? 2. Having Fun with Java. Java Application - Launched from a Command Line. Java Applet - Launched from a Web Page. Summary. 3. Having More Fun with Java. Class - The Merging of Code and Data. Inheritance - The Extending of Code and Data. Responsibility - The Duties of a Class. Language Issues. 4. Passing Data to Programs. Passing Command Line Parameters. Passing Applet Parameters. ParmApplet - Rendering a Message in a Font and Color. StringTo Color() - Parsing a Color String. Font Selection. Language Issues. 5. Exploring System Capabilities. Array - A Fixed Collection of One Object Type. Enumeration - A Consumable Collection of Multiple Object Types. Array Application - Surfacing System Information. Array Applet - Displaying System Fonts. Language Issues. Summary. 6. Launching Java Services. Vector - A Variable Collection of Multiple Object Types. Hashtable - A Collection of Key/Value Pairs. Properties - A Persistent Collection of Key/Value Pairs. String Tokenizer - A Service for Parsing Through a String. 7. Touching Java Windows. Mouse Messages. Click and Drag. Dragging a Picture. 8. Animation. Triggering Each Picture. Displaying Each Picture. Loading the Pictures. II. Getting Comfortable with Java. 9. User Input. How to Receive Input from the Command Line (stdin). How to Receive Input from a Window (events). How to Receive Input from Other Objects (Event Triggering). 10. Buttons and Things. Button - A One-State Input Control. Checkbox - A Two-State Input Control. CheckboxGroup - A Single Choice Input Control. Label - A Text Output Control. TextField - A Scrolling Area for Single Line Text Editing. Text Area-A Scrolling Area for Multiple Line Text Editing. List - A Selectable Collection of Text Items. Choice - A Drop Down Collection of Text Items. Scrollbar - A Representation of a Range of Values. An Applet with Controls and No Layout Manager (LoanApplet). 11. Layout Managers. FlowLayout - Controls in Rows. GridLayout - Controls in Checkerboard Cells. BorderLayout - One Control Flanked by the Others. Panel - A Component with its Own Layout Manager. CardLayout - A Notebook of Controls. GridBagLayout - Controls in Irregular Checkerboard Cells. 12. Standalone Windows. Frame - A Standalone Window. Applet - An Addable Component. Dialog and (Popup) Window - Dependent Windows. Menu - A Specialized Dependent Window. FileDialog - Dependent Window for File Access. 13. Sound. PCM - How to Represent Sound as Data. AU - How to Format a Sound File for Java 219 Play( ) - How to Render a Sound File. 14. File I/O. File - Name and Location. RandomAccessFile - Direct File System Access. Stream - Sequential Access. FilterStream - Smart Sequential Access. III. Implementing Client/Server in Java. 15. Sockets and a Simple Server. What is a Socket? ServerSocket - The Starting Point of a Conversation. Sockets - The End Points of a Conversation. 16. A Simple Web Server. HTTP - The Format of Web Requests and Web Responses. WebServer - Responds to a Web Browser Request. WebClient - Generates a Web Browser Request. URL - A Convenient WebClient Class. 17. A Web Server for Client/Server Programming. How to Open Up the Web. Attaching a Client to the Web Browser. Attaching a Server to the Web Server. Implementing a Client/Server Application. 18. The CaffeineCafe. Try It Out - How to Run CaffeineCafe. Extend It - How to Code Drippers. Packages - How CaffeineCafe is Organized. JavaDoc - How CaffeineCafe is Documented. Source - How CaffeineCafe Works. APPENDICES. Appendix A How Do I. String and Array. Appendix B Introduction to the World Wide Web. Appendix C Introduction to Java's Virtual Machine. Appendix D How to Parse a Java Class File. Appendix E Enete Utilities. Appendix F Java Resources. Index.