Table of Contents
I. FUNDAMENTALS OF PROGRAMMING.
1. Introduction to Java.
Introduction. The History of Java. Characteristics of Java. Java and the World Wide Web. The Java Language Specification. Java Development Tools. Java Applications. Anatomy of the Application Program. Java Applets (Optional). Anatomy of the Applet Program (Optional). Applications versus Applets (Optional). 2. Primitive Data Types and Operations.
Introduction. Writing Simple Programs. Identifiers. Variables. Assignment Statements. Constants. Numerical Data Types. Character Data Type. Boolean Data Type. Case Studies. Programming Style and Documentation. Programming Errors. Debugging (Optional). 3. Control Statements.
Introduction. Selection Statements. Loop Statements. Using the Keywords break and continue. Case Studies. 4. Methods.
Introduction. Creating a Method. Calling a Method. Passing Parameters. Overloading Methods. Method Abstraction. The Math Class. Case Studies. Recursion (Optional).
II. OBJECT-ORIENTED PROGRAMMING.
5. Programming with Objects and Classes.
Introduction. Objects and Classes. Constructors. Passing Objects to Methods. Visibility Modifiers and Accessor Methods. Class Variables, Constants, and Methods. The Scope of Variables. The Keyword this. Analyzing Relationships amongObjects. Case Studies. Java Application Programmer Interface. The String Class. The StringBuffer Class. The StringTokenizer Class. 6. Class Inheritance.
Introduction. Superclasses and Subclasses. Using the super Keyword. Overriding Methods. The object Class. The protected and final Modifiers. Abstract Classes. Polymorphism and Dynamic Binding. Casting Objects and the instanceof Operator. Interfaces. Inner Classes. Software Development Processes. Class-Design Guidelines. 7. Arrays and Vectors.
Introduction. Declaring and Creating Arrays. Initializing and Processing Arrays. Sorting Arrays. Searching Arrays. Array of Objects. Copying Arrays. Multidimensional Arrays. Processing Primitive Type Values as Objects. The Number Class and Its Subclasses. Command-Line Arguments. Case Studies (Optional). The Vector Class (Optional).
III. GRAPHICS PROGRAMMING.
8. Getting Started with Graphics Programming.
Introduction. The Java Graphics API. Frames. Layout Managers. Using Panels as Containers. Drawing Graphics in Panels. The Color Class. The Font and FontMetrics Classes. Drawing Geometric Figures. Case Studies. Event-Driven Programming. 9. Creating User Interfaces.
Introduction. JavaBeans. Buttons. Labels. Text Fields. Text Areas. Combo Boxes. Lists. Check Boxes. Radio Buttons. Borders. Message Dialog Boxes. Menus. Creating Multiple Windows. Scrollbars. Scroll Panes. Tabbed Panes. 10. Applets and Advanced Graphics.
Introduction. The Applet Classes. The JApplet Class. Running Applets in the Java Plug-In (Optional). The <
IV. DEVELOPING COMPREHENSIVE PROJECTS.
11. Exception Handling.
Introduction. Exceptions and Exception Types. Understanding Exception Handling. Rethrowing Exceptions. The finally Clause. Cautions When Using Exceptions. Creating Custom Exception Classes (Optional). 12. Internationalization.
Introduction. The Locale Class. Processing Date and Time. Formatting Numbers. Resource Bundles (Optional). 13. Multithreading.
Introduction. Creating Threads by Extending the Thread Class. Creating Threads by Implementing the Runnable Interface. Controlling Threads and Thread States. Thread Groups. Synchronization. Creating Threads for Applets. Using the Timer Class to Control Animation. Case Studies. 14. Multimedia.
Introduction. Playing Audio. Running Audio on a Separate Thread. Displaying Images. Loading Images and Audio Files in Java Applications. Displaying a Sequence of Images. Using MediaTracker. 15. Input and Output.
Introduction. Stream Classes. The File Class and Processing External Files. Filter Streams. Data Streams. Print Streams. Buffered Streams. File Dialogs. Text Input and Output on the Console. Object Streams. Random Access Files. Parsing Text Files (Optional). Array Streams, Piped Streams, String Streams, Pushback Streams, and Line Number Streams (Optional). 16. Networking.
Introduction. Client/Server Computing. Serving Multiple Clients and the InetAddress Class. Applet Clients. Sending and Receiving Objects. The URL Class and Viewing Web Pages from Applets. Retrieving Files from Web Servers. Viewing HTML Files Using JEditorPane. Case Studies (Optional).
Appendix A: Java Keywords. Appendix B: The ASCII Character Set. Appendix C: Operator Precedence Chart. Appendix D: Java Modifiers. Appendix E: Number Systems.
Introduction. Conversions between Binary Numbers and Decimal Numbers. Conversions between Hexadecimal Numbers and Decimal Numbers. Conversions between Binary Numbers and Hexadecimal Numbers. Appendix F: An HTML Tutorial.
Getting Started. Structure Tags. Text Appearance Tags. Paragraph-Style Tags. Font, Size, and Color Tags. List Tags. Table Tags. Hyperlink Tags. Embedding Graphics. More on HTML. Appendix G: UML Graphical Notations.
Classes and Objects. The Modifiers, public, private, protected, and static. Class Relationships. Abstract Classes and Interfaces. Sequence Diagrams. Statechart Diagrams. Appendix H: Packages.
Package-Naming Conventions. The Classpath Environment Variable. Putting Classes into Packages. Using Packages. Appendix I: A JBuilder 3.5 Tutorial.
Introduction. What Is JBuilder 3.5? Obtaining and Installing JBuilder 3.5. Getting Started with JBuilder 3. Creating a Project. Setting Project Properties. Creating a Java Application. Compiling a Java Program. Executing a Java Application. Creating a Java Applet. Compiling and Viewing Applets in JBuilder 3.5. Using the MyInput Class in JBuilder 3.5. Some Known Problems of JBuilder 3.5. Appendix J: Glossary. Index.