Java Programming

Students will learn to develop applications and applets using the Java language, including the use of interactivity and animation. The course begins with a review of object-oriented programming concepts. Language specifications, multi-threading and other topics are covered.

TOPICS

  1. The Java Environment
    • Introduction
    • Uses for Java
    • The World Wide Web (WWW)
    • HTML
    • Competing Technologies
    • CGI vs Java
    • How Java Achieves Portability
    • Advantages and Disadvantages
    • Applications vs Applets
    • Developing Java Applications
    • Developing Java Applets
    • The javadoc and jdb Tools
    • The package Statement
    • The import Statement
    • Packages, Classes, Files and Directories
  2. Java Basics
    • Introduction
    • Java vs C++
    • Comments
    • Native Data Types
    • Declaring Variables
    • Identifiers
    • Literals
    • Expressions
    • Floating Point Operations
    • Java Function Calls
    • Simple Statements
    • Control Structures
    • Local Variable Scope
    • Simple Output
  3. Classes in Java
    • Java is Object-Oriented
    • Instantiating a Class
    • Class-Type Variables
    • Operations on Class-Type Variables
    • The null Value
    • Member Access
    • Class Definitions
    • Method Overloading
    • Constructors
    • Encapsulation
    • Access Specifiers
    • Comparing Objects
    • Class Variables
    • Class Initialization
    • final Variables
    • Class Methods
    • Finalization
  4. Arrays and Strings
    • Java Arrays
    • Array Constant
    • Using Arrays
    • Copying Array Elements
    • String Objects
    • String Methods
    • String Concatenation
    • Converting to String
    • Class StringBuffer
  5. Inheritance
    • Introduction
    • Example of Inheritance
    • Derivation Syntax
    • Effects of Inheritance
    • Protected Access
    • Overriding Methods
    • Constructor Chaining
    • Inheritance and Finalization
    • Abstract Classes
    • Casting Between Class Types
  6. Writing Java Applets
    • What is an Applet
    • A ?Hello World? Applet
    • The Applet Class
    • The paint () Method
    • The Graphics Class
    • Invoking an Applet
    • Java Fonts
    • Selecting a Font
    • Drawing Lines and Shapes
    • Drawing with Color
    • The Color Class
    • Getting Applet Parameters
    • Specifying Applet Parameters
    • Foreground and Background Colors
    • Events
    • Intercepting Events
    • Mouse Events
    • The repaint () Method
    • The update () Method
    • Using Images
    • Locating Images
    • Loading Images
    • Displaying Images
    • Getting the Size of an Image
    • Animation and Multi-Threading
    • Creating a Thread
    • Controlling a Thread
    • Animating an Applet
    • The start () and stop () Methods
    • Audio Clips
  7. The Abstract Windowing Toolkit
    • Introduction
    • AWT Components
    • Labels
    • Buttons
    • Action Events
    • Text Components
    • Lists
    • List Events
    • Choice Menus
    • Checkboxes
    • Checkbox Groups
    • Scrollbars
    • Scrollbar Events
    • Layout
    • Layout Managers
    • Class FlowLayout
    • Class GridLayout
    • Class GridBagLayout
    • Nested Panels
    • Extending Class Panel
    • Nested Panels and Events
    • Absolute Layout
    • The Canvas Component
    • Frames
    • Class BorderLayout
    • Menus
    • Dialog Boxes
    • Standalone Window Applications
  8. Exceptions
    • Traditional Error Handling
    • Creating an Exception Class
    • The throw Statement
    • Defining an Exception Handler
    • The finally Statement
    • Exception Types
    • The throws Clause
  9. I/O Streams
    • Introduction
    • Class InputStream
    • Class OutputStream
    • Using InputStream and OutputStream
    • File I/O
    • Class FileOutputStream Example
    • Memory Stream
    • Filter Stream
    • Buffered I/O
    • Data Input
    • Data Output
    • Printed Output
    • The LineNumInputStream Example
    • The Applet File I/O
  10. More of the Java API
    • Cloning an Object
    • Making a Class Cloneable
    • The Vector Class
    • Object Wrapper Classes
    • Class Stack
    • Class Hashtable
    • Class Thread
    • Thread Synchronization
    • Using wait () and notifyall ()
    • Extensions to Java API
    • Layered Java APIs