ewtoc (9)




















Please visit our sponsor













Directories

Library
Online Books
Online Reports

Downloads

The Journal

News Central

Training Center

Discussions

Ask The Experts

Job Bank

Calendar

Search Central

Software For Sale

Books For Sale

Classified Ads

About Us



Journal by E-mail:



Get the weekly e-mail highlights from the most popular online Journal for developers!
Current issue

EarthWeb Sites:

developer.com
developerdirect.com
htmlgoodies.com
javagoodies.com
jars.com
intranetjournal.com
javascripts.com
datamation.com









-


















 













All Categories :
Java



To access the contents, click the chapter and section titles.


TEACH YOURSELF JAVA IN 21 DAYS, Professional Reference Edition





(Imprint: SAMS.Net)

Author:
Michael Morrison,
Laura Lemay, and Charles L. Perkins


Publication Date: Oct-96

ISBN: 1-57521-183-1









Day 1: An Introduction to Java Programming


What Is Java?

Java's Past, Present, and Future

Why Learn Java?


Java Is Platform Independent

Java Is Object Oriented

Java Is Easy to Learn


Getting Started Programming in Java


Getting a Java Development Environment

Installing the JDK and Sample Files

Configuring the JDK

Creating a Java Application

Creating a Java Applet


Troubleshooting

Summary

Q&A



Day 2: Object-Oriented Programming and Java


Thinking in Objects: An Analogy

Objects and Classes

Behavior and Attributes


Attributes

Behavior

Creating a Class


Inheritance, Interfaces, and Packages


Inheritance

Creating a Class Hierarchy

How Inheritance Works

Single and Multiple Inheritance

Interfaces and Packages

Creating a Subclass


Summary

Q&A



Day 3: Java Basics


Statements and Expressions

Variables and Data Types


Declaring Variables

Notes on Variable Names

Variable Types

Assigning Values to Variables


Comments

Literals


Number Literals

Boolean Literals

Character Literals

String Literals


Expressions and Operators


Arithmetic

More About Assignment

Incrementing and Decrementing

Comparisons

Logical Operators

Bitwise Operators

Operator Precedence


String Arithmetic

Summary

Q&A



Day 4: Working with Objects


Creating New Objects


Using new

What new
Does

A Note on Memory Management


Accessing and Setting Class and Instance Variables


Getting Values

Changing Values

Class Variables


Calling Methods


Class Methods


References to Objects

Casting and Converting Objects and Primitive Types


Casting Primitive Types

Casting Objects

Converting Primitive Types to Objects and Vice Versa


Odds and Ends


Comparing Objects

Determining the Class of an Object


Class and Object Reflection (Java 1.1)

The Java Class Library

Summary

Q&A



Day 5: Arrays, Conditionals, and Loops


Arrays


Declaring Array Variables

Creating Array Objects

Accessing Array Elements

Changing Array Elements

Multidimensional Arrays


Block Statements

if
Conditionals


The Conditional Operator


switch
Conditionals

for
Loops

while
and do
Loops


while
Loops

do...while
Loops


Breaking Out of Loops


Labeled Loops


Summary

Q&A



Day 6: Creating Classes and Applications in Java


Defining Classes

Creating Instance and Class Variables


Defining Instance Variables

Constants

Class Variables


Creating Methods


Defining Methods

The this
Keyword

Variable Scope and Method Definitions

Passing Arguments to Methods

Class Methods


Creating Java Applications


Helper Classes


Java Applications and Command-Line Arguments


Passing Arguments to Java Programs

Handling Arguments in Your Java Program


Summary

Q&A



Day 7: More About Methods


Creating Methods with the Same Name, Different Arguments

Constructor Methods


Basic Constructors

Calling Another Constructor

Overloading Constructors


Overriding Methods


Creating Methods That Override Existing Methods

Calling the Original Method

Overriding Constructors


Finalizer Methods

Summary

Q&A



Day 8: Java Applet Basics


How Applets and Applications Are Different

Creating Applets


Major Applet Activities

A Simple Applet


Including an Applet on a Web Page


The <APPLET>
Tag

Testing the Result

Making Java Applets Available to the Web


More About the <APPLET>
Tag


ALIGN

HSPACE
and VSPACE


CODE
and CODEBASE



Java Archives

Passing Parameters to Applets

Summary

Q&A



Day 9: Graphics, Fonts, and Color


The Graphics
Class


The Graphics Coordinate System


Drawing and Filling


Lines

Rectangles

Polygons

Ovals

Arcs

A Simple Graphics Example

Copying and Clearing


Text and Fonts


Creating Font Objects

Drawing Characters and Strings

Finding Out Information About a Font


Color


Using Color Objects

Testing and Setting the Current Colors

A Simple Color Example


Summary

Q&A



Day 10: Simple Animation and Threads


Creating Animation in Java


Painting and Repainting

Starting and Stopping an Applet's Execution

The Missing Link: Threads

Putting It Together


Threads: What They Are and Why You Need Them


Writing Applets with Threads

Another Look at the Digital Clock


Reducing Animation Flicker


Flicker and How to Avoid It

How to Override update()


Solution One: Don't Clear the Screen

Solution Two: Redraw Only What You Have To


Summary

Q&A



Day 11: More Animation, Images, and Sound


Retrieving and Using Images


Getting Images

Drawing Images

A Note About Image Observers

Modifying Images


Creating Animation Using Images


An Example: Neko


Retrieving and Using Sounds

Using Animation Packages


Sun's Animator Applet

Dimension X's Liquid Motion


More About Flicker: Double-Buffering


Creating Applets with Double-Buffering

A Note on Disposing Graphics Contexts

An Example: Checkers Revisited


Summary

Q&A



Day 12: Managing Simple Events and Interactivity


Mouse Clicks


Mouse Down and Mouse Up Events

An Example: Spots

Double-Clicks


Mouse Movements


Mouse Drag and Mouse Move Events

Mouse Enter and Mouse Exit Events

An Example: Drawing Lines

Keyboard Events

The keyDown()
and keyUp()
Methods

Default Keys

An Example: Entering, Displaying, and Moving Characters

Testing for Modifier Keys and Multiple Mouse Buttons


The AWT Event Handler

Summary

Q&A



Day 13: Creating User Interfaces with the AWT


An AWT Overview

The Basic User Interface Components


Labels

Buttons

Check Boxes

Radio Buttons

Choice Menus

Text Fields


Panels and Layout


Layout Managers: An Overview

The FlowLayout
Class

Grid Layouts

Border Layouts

Card Layouts

Grid Bag Layouts

Insets


Handling UI Actions and Events

Nesting Panels and Components


Nested Panels

Events and Nested Panels


More UI Components


Text Areas

Scrolling Lists

Scrollbars and Sliders

Canvases


More UI Events

Fun with Components

A Complete Example: RGB-to-HSB Converter


Designing and Creating the Applet Layout

Defining the Subpanels

Handling the Actions

Updating the Result

The Complete Source Code


Up and Coming in Java 1.1

Summary

Q&A



Day 14: Windows, Networking, and Other Tidbits


Windows, Menus, and Dialog Boxes


The AWT Window Classes

Frames

Closing Windows

Menus

Dialog Boxes

Cursors

Window Events

Standalone AWT Applications


Networking in Java


Creating Links Inside Applets

Opening Web Connections

openStream()

Sockets

Changes to Sockets for Java 1.1


Other Applet Hints


The showStatus()
Method

Applet Information

Communicating Between Applets


Summary

Q&A



Day 15: Modifiers, Access Control, and Class Design


Modifiers

Controlling Access to Methods and Variables


Why Access Control Is Important

The Four Ps of Protection

Method Protection and Inheritance

Instance Variable Protection and Accessor Methods


Class Variables and Methods

Finalizing Classes, Methods, and Variables


Finalizing Classes

Finalizing Variables

Finalizing Methods


Abstract Classes and Methods

Summary

Q&A



Chapter 16: Packages and Interfaces


Programming in the Large and Programming in the Small

What Are Packages?

Using Packages


Full Package and Class Names

The import Command


Name Conflicts

A Note About CLASSPATH
and Where Classes Are Located


Creating Your Own Packages


Pick a Package Name

Create the Directory Structure

Use package
to Add Your Class to a Package

Packages and Class Protection


What Are Interfaces?


The Problem of Single Inheritance

Abstract Design and Concrete Implementation

Interfaces and Classes


Implementing and Using Interfaces


The implements
Keyword

Implementing Multiple Interfaces

Other Uses of Interfaces


Creating and Extending Interfaces


New Interfaces

Methods Inside Interfaces

Extending Interfaces

An Example: Enumerating Linked Lists


Summary

Q&A



Day 17: Exceptions


Exceptions, the Old and Confusing Way

Java Exceptions

Managing Exceptions


Exception Consistency Checking

Protecting Code and Catching Exceptions

The finally
Clause


Declaring Methods That Might Throw Exceptions


The throws
Clause

Which Exceptions Should You Throw?

Passing On Exceptions

throws
and Inheritance


Creating and Throwing Your Own Exceptions


Throwing Exceptions

Creating Your Own Exceptions

Doing It All: Combining throws,
try,
and throw


When and When Not to Use Exceptions


When to Use Exceptions

When Not to Use Exceptions

Bad Style Using Exceptions


Summary

Q&A



Day 18: Multithreading


Thread Fundamentals

The Problem with Parallelism

Thinking Multithreaded


Points About Points

Protecting a Class Variable


Creating and Using Threads


The Runnable
Interface

ThreadTester

NamedThreadTester



Knowing When a Thread Has Stopped

Thread Scheduling


Preemptive Versus Nonpreemptive

Testing Your Scheduler


Summary

Q&A



Day 19: Streams and I/O


What Are Streams?

The java.io
Package

Input Streams


The Abstract Class InputStream


ByteArrayInputStream


FileInputStream


FilterInputStream


PipedInputStream


SequenceInputStream


StringBufferInputStream



Output Streams


The Abstract Class OutputStream


ByteArrayOutputStream


FileOutputStream


FilterOutputStream


PipedOutputStream



Related Classes

Object Serialization (Java 1.1)

Summary

Q&A



Chapter 20: Using Native Methods and Libraries


Why Use Native Methods?


Advantages of Using Native Methods


Disadvantages of Native Methods

The Illusion of Required Efficiency


Design First, Efficiency Later

Just-in-Time Compilers

Simple Optimization Tricks


Writing Native Methods


Write Your Java Code

Generate Header and Stub Files

Implementing the Native Library

Using Your Library


Tools and Techniques for Writing Native Implementations


Names

Accessing Java Objects

Calling Methods

Creating New Java Objects

Handling Exceptions

Dealing with Strings


Summary

Q&A



Day 21: Under the Hood


-The Big Picture


Why It's a Powerful Vision


The Java Virtual Machine


An Overview

The Fundamental Parts

The Constant Pool

Limitations


The Bytecode Interpreter

Just-in-Time Compilers

The Class File Format

Method Signatures

The Garbage Collector


The Problem

The Solution

Java's Parallel Garbage Collector


The Security Story


Why You Should Worry

Why You Might Not Have To

Java's Applet Security Model

Signed Applets

Coming Up in Java 1.1


Summary

Q&A



Day 22: Java Programming Tools


Overview of the Standard JDK Tools

The Runtime Interpreter

Usage
The OptionsArgument
The Non-Optimized Interpreter


The Compiler

Usage
The OptionsArgument
The Non-Optimizing Compiler

The Applet Viewer

Usage
The OptionsArgument
Commands
Profiling Java Applets

The Debugger

Usage
The OptionsArgument
Commands

The Class File Disassembler

Usage
The OptionsArgument

The Header and Stub File Generator

Usage
The OptionsArgument

The Documentation Generator

Usage
The OptionsArgument
Documentation Tags

Visual Development Tools

Sun's Java WorkShop
Symantec Café
Microsoft Visual J++
Natural Intelligence's Roaster
Rogue Wave Software's JFactory
Penumbra Software's Mojo
Aimtech's Jamba
Kinetix's Hyperwire

Summary
Q&A



Day 23: Working with Data Structures in Java


Data Structure Fundamentals

The Standard Java Data Structures


Enumerations

Bit Sets

Vectors

Stacks

Dictionaries

Hash Tables


Building Your Own Data Structures


Linked List Basics

Implementing a Linked List


Summary

Q&A



Day 24: Advanced Animation and Media


What Is Animation?

Types of Animation


Frame-Based Animation

Cast-Based Animation


Tracking Images

The MediaTracker
Class

Implementing Sprite Animation


The Sprite
Class

The SpriteVector
Class

The Background Classes


Sample Applet: Sharks

Summary

Q&A



Day 25: Fun with Image Filters


The Basics of Color

Color Images in Java

Color Models


Direct Color Models

Index Color Models


The Color Model Classes

Image Filters

The Image Filter Classes

Writing Your Own Image Filters


A Color Image Filter

An Alpha Image Filter

A Brightness Image Filter


Using Image Filters

Summary

Q&A



Day 26: Client/Server Networking in Java


Internet Network Basics


Addresses

Protocols

Ports


The Client/Server Paradigm

Sockets


Datagram Sockets

Stream Sockets


Fortune: A Datagram Client and Server


Designing Fortune

Implementing the Fortune Server

Implementing the Fortune Client Applet

Running Fortune


Trivia: A Stream Client and Server


Designing Trivia

Implementing the Trivia Server

Implementing the Trivia Client Applet

Running Trivia


Summary

Q&A



Day 27: The Standard Extension APIs


Java API Overview

The Enterprise API


Java Database Connectivity

Interface Definition Language

Remote Method Invocation


The Commerce API

The Management API

The Server API

The Media API

The Security API

The Java Beans API

The Embedded API

Summary

Q&A



Day 28: Emerging Technologies


Java Beans


The Goal of Java Beans

How Java Beans Relates to Java

The Java Beans API


JavaOS


Overhead

Industry Support


Java Microprocessors


picoJAVA

microJAVA

UltraJAVA


Summary

Q&A




Appendix A: Language Summary


Reserved Words

Comments

Literals


Variable Declaration


Variable Assignment


Operators


Objects


Arrays


Loops and Conditionals


Class Definitions


Method and Constructor Definitions

Packages, Interfaces, and Importing

Exceptions and Guarding



Appendix B: Class Hierarchy Diagrams


About These Diagrams


Appendix C: The Java Class Library


java.lang

Interfaces
Classes

java.util

Interfaces
Classes

java.io

Interfaces
Classes

java.net

Interfaces
Classes

java.awt

Interfaces
Classes

java.awt.image

Interfaces
Classes

java.awt.peer

java.applet

Interfaces
Classes



Appendix D: Bytecodes Reference


The _quick
Bytecodes


Appendix E: java.applet Package Reference


AppletContext


AppletStub

AudioClip

Applet


Appendix F: java.awt Package Reference


LayoutManager


MenuContainer


BorderLayout

Button

Canvas

CardLayout

Checkbox

CheckboxGroup


CheckboxMenuItem


Choice

Color

Component

Container

Dialog

Dimension

Event

FileDialog

FlowLayout

Font

FontMetrics

Frame

Graphics

GridBagConstraints


GridBagLayout


GridLayout

Image

Insets

Label

List

MediaTracker

Menu

MenuBar

MenuComponent


MenuItem

Panel

Point

Polygon

Rectangle

Scrollbar

TextArea

TextComponent


TextField

Toolkit

Window


AWTException


AWTError


Appendix G: java.awt.image Package Reference


ImageConsumer


ImageObserver


ImageProducer


ColorModel

CropImageFilter


DirectColorModel


FilteredImageSource


ImageFilter

IndexColorModel


MemoryImageSource


PixelGrabber

RGBImageFilter



Appendix H: java.awt.peer Package Reference


ButtonPeer

CanvasPeer

CheckboxMenuItemPeer


CheckboxPeer

ChoicePeer

ComponentPeer


ContainerPeer


DialogPeer

FileDialogPeer


FramePeer

LabelPeer

ListPeer

addItem

MenuBarPeer

MenuComponentPeer


MenuItemPeer

MenuPeer

PanelPeer

ScrollbarPeer


TextAreaPeer

TextComponentPeer


TextFieldPeer


WindowPeer


Appendix I: java.io Package Reference


DataInput

DataOutput

FilenameFilter


BufferedInputstream


BufferedOutputStream


ByteArrayInputStream


ByteArrayOutputStream


DataInputStream


DataOutputStream


File

FileDescriptor


FileInputStream


FileOutputStream


FilterInputStream


FilterOutputStream


InputStream

LineNumberInputStream


OutputStream

PipedInputStream


PipedOutputStream


PrintStream

PushbackInputStream


RandomAccessFile


SequenceInputStream


StreamTokenizer


StringBufferInputStream


EOFException

FileNotFoundException


IOException

InterruptedIOException


UTFDataFormatException



Appendix J: java.lang Package Reference


Cloneable

Runnable

Boolean

Character

Class

ClassLoader

Compiler

Double

Float

Integer

Long

Math

Number

Object

Process

Runtime

SecurityManager


String

StringBuffer

System

Thread

ThreadGroup

Throwable

RuntimeException


ClassNotFoundException


CloneNotSupportedException


Exception

IllegalAccessException


IllegalArgumentException


IllegalMonitorStateException


IllegalThreadStateException


IndexOutOfBoundsException


InstantiationException


InterruptedException


NegativeArraySizeException


NullPointerException


NumberFormatException


RuntimeException


SecurityException


StringIndexOutOfBoundsException


AbstractMethodError


ClassFormatError


Error

IllegalAccessError


IncompatibleClassChangeError


InstantiationError


InternalError


LinkageError

NoClassDefFoundError


NoSuchFieldError


NoSuchMethodError


OutOfMemoryError


StackOverflowError


ThreadDeath

UnknownError

UnsatisfiedLinkError


VerifyError

VirtualMachineError



Appendix K: java.net Package Reference


ContentHandlerFactory


SocketImplFactory


URLStreamHandlerFactory


ContentHandler


DatagramPacket


DatagramSocket


InetAddress

ServerSocket

Socket

SocketImpl

URL

URLConnection


URLEncoder

MalformedURLException


ProtocolException


SocketException


UnknownHostException


UnknownServiceException



Appendix L: java.util Package Reference


Enumeration

Observer

BitSet

Date

Dictionary


Hashtable

Observable

Properties

Random

Stack

StringTokenizer


Vector

EmptyStackException


NoSuchElementException






































Use of this site is subject to certain
Terms & Conditions.
Copyright (c) 1996-1998
EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited.
























Wyszukiwarka

Podobne podstrony:
ewtoc (6)
ewtoc (14)
ewtoc
ewtoc (5)
ewtoc (15)
ewtoc
ewtoc
ewtoc
ewtoc (3)
ewtoc (8)
ewtoc (4)
ewtoc (12)
ewtoc
ewtoc (10)
ewtoc (11)
ewtoc (7)
ewtoc (13)
ewtoc
ewtoc

więcej podobnych podstron