Bruce Eckel's Thinking in Java Contents | Prev

Title Pages - Index


, ! , , , & , > , < , + , - , 1 , 2 , 3 , = , @ , A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , [ , ^ , |


Object Request Broker (ORB), 1

!
!=, 1
operator, 1
‘+’
operator + for String, 1
♦JLayeredPane, 1

♦splitter control, 1

&
&, 1

&&, 1

&=, 1

>
>, 1

>>, 1

>>=, 1

>=, 1

<
<, 1

<<, 1

<<=, 1

<=, 1

+
+, 1

-
-, 1

1
1.Collection, 1

1.creational design patterns, 1

1.localhost
and RMI, 1
1.Thread
new Thread, 1
2
2.design patterns
structural, 1
2.Map, 1

2.member initializers, 1

2.Runnable
Thread, 1
3
3.dead, Thread, 1

3.design patterns
behavioral, 1
=
==, 1
operator, 1

vs. equals( ), 1

@
@dll.import, 1, 2

@dll.struct, 1

A
abstract
class, 1

inheriting from an abstract class, 1

vs. interface, 1

abstract keyword, 1

Abstract Window Toolkit (AWT), 1

AbstractButton, 1

abstraction, 1
in program design, 1
AbstractSequentialList, 1

AbstractSet, 1

accept( ), 1

access
class, 1

control, 1, 2, 3

inner classes & access rights, 1

package access and friendly, 1

specifiers, 1, 2, 3

within a directory, via the default package, 1

action( ), 1, 2, 3, 4
cannot combine with listeners, 1
ActionEvent, 1, 2, 3, 4

ActionListener, 1

actionPerformed( ), 1

ActiveX/Beans integration, 1

adapters
listener adapters, 1
add( ), 1

addActionListener( ), 1, 2, 3

addAdjustmentListener( ), 1

addComponentListener( ), 1

addContainerListener( ), 1

addElement( ), Vector, 1

addFocusListener( ), 1

addItemListener( ), 1

addition , 1

addKeyListener( ), 1

addListener, 1

addMouseListener( ), 1

addMouseMotionListener( ), 1

addTab( ), 1

addTextListener( ), 1

addWindowListener( ), 1

AdjustmentEvent, 1, 2

AdjustmentListener, 1

adjustmentValueChanged( ), 1

Adler32, 1

aliasing, 1
and String, 1

during a method call, 1

align, 1

AlreadyBoundException, 1

analysis
& design, object-oriented, 1

requirements analysis, 1

AND
bitwise, 1

logical (&&), 1

anonymous inner class, 1, 2, 3, 4, 5, 6
and constructors, 1
appendText( ), 1

applet, 1, 2, 3
advantages for client/server systems, 1

align, 1

and packages, 1

archive tag, for HTML and JAR files, 1

classpath, 1

codebase, 1

combined applets and applications, 1

combined with application, 1

creating a Frame from within an applet, 1

destroy( ), 1

displaying a Web page from within an applet, 1

init( ), 1, 2

initialization parameters, 1

name, 1

packaging applets in a JAR file to optimize loading, 1

paint( ), 1

parameter, 1

placing inside a Web page, 1

restrictions, 1

start( ), 1, 2

stop( ), 1, 2

submitting a POST with an applet, 1

tag, for HTML page, 1

update( ), 1

appletviewer, 1

application
application builder, 1

application framework, 1

combined applets and applications, 1

combined with Applet, 1

running an application from within an applet, 1

standalone windowed application, 1

windowed applications, 1

application framework, 1

archive tag, for HTML and JAR files, 1

argument
constructor, 1

final, 1, 2

passing a handle into a method, 1

variable argument lists (unknown quantity and type of arguments), 1

array, 1, 2
associative array, 1

bounds checking, 1

dynamic creation, 1

first-class objects, 1

initialization, 1

length, 1

multidimensional, 1

of Object, 1

of objects, 1

of primitives, 1

sorting, 1

ArrayList, 1, 2

ArrayMap, 1

Arrays, 1

Arrays.toList( ), 1

ArraySet, 1

assigning objects, 1

assignment, 1

associative array, 1, 2

auto-decrement operator, 1

auto-increment operator, 1

automatic compilation, 1

automatic type conversion, 1

available( ), 1

AWT
Abstract Window Toolkit, 1

action( ), 1, 2, 3, 4

action( ), cannot combine with listeners, 1

ActionEvent, 1, 2, 3, 4

ActionListener, 1

actionPerformed( ), 1

add( ), 1

addActionListener( ), 1, 2

addAdjustmentListener( ), 1

addComponentListener( ), 1

addContainerListener( ), 1

addFocusListener( ), 1

addItemListener( ), 1

addKeyListener( ), 1

addListener, 1

addMouseListener( ), 1

addMouseMotionListener( ), 1

addTextListener( ), 1

addWindowListener( ), 1

AdjustmentEvent, 1, 2

AdjustmentListener, 1

adjustmentValueChanged( ), 1

appendText( ), 1

Applet, 1

applet advantages for client/server systems, 1

applet restrictions, 1

archive tag, for HTML and JAR files, 1

BorderLayout, 1, 2

Button, 1, 2

Button, creating your own, 1

Canvas, 1

CardLayout, 1, 2

Checkbox, 1, 2

Checkbox, Java 1.1, 1

CheckboxGroup, 1

CheckboxMenuItem, 1

CheckboxMenuItem, Java 1.1, 1

Choice, 1

Choice, Java 1.1, 1

combining layouts, 1

Component, 1, 2, 3, 4

ComponentAdapter, 1

componentAdded( ), 1

ComponentEvent, 1, 2

componentHidden( ), 1

ComponentListener, 1

componentMoved( ), 1

componentRemoved( ), 1

componentResized( ), 1

componentShown( ), 1

consume( ) , 1

Container, 1

ContainerAdapter, 1

ContainerEvent, 1, 2

ContainerListener, 1

controlling layout, 1

DataFlavor, 1

desktop colors, 1

Dialog, 1

dialog box, 1

Dialog, Java 1.1, 1

dispatchEvent( ), 1

dispatching messages, 1

dispose( ), 1, 2, 3

drawString( ), 1

drop-down list, 1

East, 1

eliminating flicker, 1

enableEvents( ), 1

end( ), 1

event listener, 1

Event object, 1, 2

event target, 1

event-driven programming, 1

FileDialog, 1

FileDialog, Java 1.1, 1

flavor, clipboard, 1

FlowLayout, 1

Focus traversal, 1

FocusAdapter, 1

FocusEvent, 1, 2

focusGained( ), 1

FocusListener, 1

focusLost( ), 1

Font, 1

Frame, 1, 2

getAlignment( ), 1

getAppletContext( ), 1

getContents( ), 1

getDirectory( ), 1

getFile( ), 1

getPrintJob( ), 1, 2

getSelectedItems( ), 1

getState( ), 1

getText( ), 1

getTransferData( ), 1

getTransferDataFlavors( ), 1

gotFocus( ), 1

Graphics, 1, 2, 3

GridBagLayout, 1

GridLayout, 1

handleEvent( ), 1, 2, 3

inner classes, 1

isDataFlavorSupported( ), 1

isFocusTraversable( ), 1

ItemEvent, 1, 2, 3

ItemListener, 1, 2

itemStateChanged( ), 1

JAR, packaging applets to optimize loading, 1

KeyAdapter, 1

keyDown( ), 1

KeyEvent, 1, 2

KeyListener, 1

keyPressed( ), 1

keyReleased( ), 1

keyTyped( ), 1

keyUp( ), 1

Label, 1

layout manager, 1

List, 1

list boxes, 1

List, Java 1.1, 1

listener adapters, 1

lostFocus( ), 1

match an event to the text on a button, 1

Menu, 1

menu shortcuts, 1

Menu, Java 1.1, 1

MenuBar, 1, 2

MenuComponent, 1

MenuItem, 1, 2

MenuItem, Java 1.1, 1

menus, 1

MouseAdapter, 1

mouseClicked( ), 1

mouseDown( ), 1, 2

mouseDrag( ), 1

mouseDragged( ), 1

mouseEnter( ), 1

mouseEntered( ), 1

MouseEvent, 1, 2

mouseExit( ), 1

mouseExited( ), 1

MouseListener, 1

MouseMotionAdapter, 1

MouseMotionListener, 1

mouseMove( ), 1

mouseMoved( ), 1

mousePressed( ), 1

mouseReleased( ), 1

mouseUp( ), 1

multicast, 1

multicast events, 1

multiple selection in a List, 1

new event model, 1

North, 1

paint( ), 1, 2, 3, 4

Panel, 1

print( ), 1, 2

PrintGraphics, 1

printing, 1

printing text, 1

PrintJob, 1

processEvent( ), 1

proportionally-spaced font, 1

radio button, 1

removeActionListener( ), 1, 2

removeAdjustmentListener( ), 1

removeComponentListener( ), 1

removeContainerListener( ), 1

removeFocusListener( ), 1

removeItemListener( ), 1

removeKeyListener( ), 1

removeMouseListener( ), 1

removeMouseMotionListener( ), 1

removeTextListener( ), 1

removeWindowListener( ), 1

repaint( ), 1

requestFocus( ), 1

setActionCommand( ), 1

setAlignment( ), 1

setCheckboxGroup( ), 1

setContents( ), 1

setDirectory( ), 1

setEditable( ), 1

setFile( ), 1

setLayout( ), 1

setMenuBar( ), 1

setText( ), 1

show( ), 1

showStatus( ), 1

South, 1

standalone windowed application, 1

StringSelection, 1

super.action( ), 1

super.handleEvent( ), 1

system clipboard, 1

target of an event, 1

TextArea, 1, 2

TextArea, Java 1.1, 1

TextComponent, 1

TextComponent, Java 1.1, 1

TextEvent, 1, 2

TextField, 1

TextField, Java 1.1, 1

TextListener, 1

textValueChanged( ), 1

Toolkit, 1

TooManyListenersException, 1, 2

Transferable, 1

unicast, 1

unicast events, 1

update( ), 1

Web browser window status line, 1

West, 1

windowActivated( ), 1

WindowAdapter, 1

windowClosed( ), 1

windowClosing( ), 1

windowDeactivated( ), 1

windowDeiconified( ), 1

windowed applications, 1

WindowEvent, 1, 2, 3

windowIconified( ), 1

WindowListener, 1

windowOpened( ), 1

WINDOW_CLOSING, 1

WINDOW_DESTROY, 1

B
bag, 1

base 16, 1

base 8, 1

base class, 1, 2, 3
abstract base class, 1

base-class interface, 1

constructor, 1

constructors and exceptions, 1

initialization, 1

Basic
Microsoft Visual Basic, 1
BasicArrowButton, 1

Bean
integrating with ActiveX, 1
beanbox Bean testing tool, 1

BeanInfo
custom BeanInfo, 1
Beans
and Borland’s Delphi, 1

and Microsoft’s Visual Basic, 1

and multithreading, 1

application builder, 1

beanbox Bean testing tool, 1

bound properties, 1

component, 1

constrained properties, 1

custom BeanInfo, 1

custom property editor, 1

custom property sheet, 1

events, 1

EventSetDescriptors, 1

FeatureDescriptor, 1

getBeanInfo( ), 1

getEventSetDescriptors( ), 1

getMethodDescriptors( ), 1

getName( ), 1

getPropertyDescriptors( ), 1

getPropertyType( ), 1

getReadMethod( ), 1

getWriteMethod( ), 1

indexed property, 1

Introspector, 1

JAR files for packaging, 1

manifest file, 1

Method, 1

MethodDescriptors, 1

naming convention, 1

properties, 1

PropertyChangeEvent, 1

PropertyDescriptors, 1

ProptertyVetoException, 1

reflection, 1, 2

Serializable, 1

visual programming, 1

behavioral design patterns, 1

Bill Joy, 1

binary
numbers, 1

operators, 1

binarySearch( ), 1

bind( ), 1

binding
dynamic binding, 1

dynamic, late, or run-time binding, 1

late binding, 1

method call binding, 1

run-time binding, 1

BitSet, 1, 2

bitwise
AND, 1

AND operator (&), 1

EXCLUSIVE OR XOR (^), 1

NOT ~, 1

operators, 1

OR, 1

OR operator (|), 1

bitwise copy, 1

blank final, in Java 1.1, 1

blocking
and available( ), 1

and threads, 1

on IO, 1

Booch, Grady, 1

book
errors, reporting, 1

updates of the book, 1

Boolean, 1
algebra, 1

and casting, 1

vs. C and C++, 1

BorderLayout, 1, 2

Borland, 1
Delphi, 1
bound properties, 1

bounds checking, array, 1

BoxLayout, 1

break keyword, 1

browser
class browser, 1
BufferedInputStream, 1, 2

BufferedOutputStream, 1, 2

BufferedReader, 1, 2, 3

BufferedWriter, 1

business objects/logic, 1

button, 1, 2
creating your own, 1

radio button, 1

ButtonGroup, 1

ByteArrayInputStream, 1

ByteArrayOutputStream, 1

C
C++, 1, 2, 3
CGI programming in C++, 1

comparing C++ and Java, 1

copy constructor, 1

copy-constructor, 1

GNU C++ Compiler, 1

in contrast with Java, 1

operator overloading, 1

Standard Template Library (STL), 1

Standard Template Library (STL)., 1

STL, 1

template, 1

templates, 1

vector class, vs. array and Java Vector, 1

C/C++, interfacing with, 1

callback, 1, 2

callback function, 1

Canvas, 1, 2

capitalization
Java capitalization style source-code checking tool, 1

of package names, 1

CardLayout, 1, 2

case statement, 1

cast, 1, 2
and collections, 1

and primitive types, 1

from float or double to integral, truncation, 1

operators, 1

catch
catching an exception, 1

catching any exception, 1

keyword, 1

CD ROM for book, 1

CGI
Common-Gateway Interface, 1

connecting Java to CGI, 1

crash course in CGI programming, 1

GET, 1, 2

HTML content-type, 1

intercepting results, 1

invoking a CGI program from Java, 1

POST, 1, 2

programming in C++, 1

change
vector of change, 1, 2, 3
CharArrayReader, 1

CharArrayWriter, 1

Checkbox, 1, 2
Java 1.1, 1
CheckboxGroup, 1

CheckboxMenuItem, 1
Java 1.1, 1
CheckedInputStream, 1

CheckedOutputStream, 1

Checksum, 1

Choice, 1
Java 1.1, 1
class, 1, 2
abstract class, 1

access, 1

anonymous inner class, 1, 2, 3, 4, 5

anonymous inner class and constructors, 1

base class, 1, 2, 3

browser, 1

class hierarchies and exception handling, 1

class literal, 1, 2

Class object, 1, 2, 3

derived class, 1

final classes, 1

forName( ), 1, 2

getClass( ), 1

getConstructors( ), 1

getInterfaces( ), 1

getMethods( ), 1

getName( ), 1

getSuperclass( ), 1

inheritance diagrams, 1

inheriting from an abstract class, 1

inheriting from inner classes, 1

initialization & class loading, 1

initialization of data members, 1

initializing members at point of definition, 1

initializing the base class, 1

inner class, 1, 2, 3, 4

inner class nesting within any arbitrary scope, 1

inner classes, 1

inner classes & access rights, 1

inner classes and overriding, 1

inner classes and super, 1

inner classes and the AWT, 1

inner classes and upcasting, 1

inner classes in methods & scopes, 1

inner classes, identifiers and .class files, 1

intializing the derived class, 1

isInstance, 1

isInterface( ), 1

loading, 1

member initialization, 1

newInstance( ), 1

order of initialization, 1

printInfo( ), 1

private inner classes, 1

public class, and compilation units, 1

read-only classes, 1

referring to the outer class object in an inner class, 1

reflection, 1

RTTI using the Class object, 1

static inner classes, 1

style of creating classes, 1

subobject, 1

ClassCastException, 1, 2

classpath, 1, 2, 3
and rmic, 1

pitfall, 1

cleanup
and garbage collector, 1

performing, 1

with finally, 1

client programmer, 1

client, network, 1

clipboard
system clipboard, 1
clone( ), 1, 2
and composition, 1

and inheritance, 1

Object.clone( ), 1

removing/turning off clonability, 1

super.clone( ), 1, 2

supporting cloning in derived classes, 1

Cloneable interface, 1

CloneNotSupportedException, 1

close( ), 1

CLSID, 1

code
calling non-Java code, 1

coding standards, 1, 2

extracting code listings, 1

organization, 1

re-use, 1

codebase, 1

coding
improving code with inner classes, 1
collection
class, 1, 2

Hashtable, 1

of primitives, 1

Collections, 1, 2

collections library, new, 1

collision
name, 1
colors
desktop colors, 1
COM, 1
Java/COM integration, 1
com.ms.com, 1

com.ms.win32, 1

combo box, 1

comma operator, 1, 2

comments
and embedded documentation, 1
common interface, 1

common pitfalls when using operators, 1

Common-Gateway Interface (CGI), 1

Comparable, 1, 2

Comparator, 1, 2

compare( ), 1

compareTo( ), 1

comparison
natural comparison method, 1
compilation unit, 1

compile-time constant, 1

compiling, automatic compilation, 1

complexity theory, Boids example, 1

Component, 1, 2, 3, 4, 5

component, and Java Beans, 1

ComponentAdapter, 1

componentAdded( ), 1

ComponentEvent, 1, 2

componentHidden( ), 1

ComponentListener, 1

componentMoved( ), 1

componentRemoved( ), 1

componentResized( ), 1

componentShown( ), 1

composition, 1, 2
and cloning, 1

and design, 1

and design patterns, 1

and dynamic behavior change, 1

choosing composition vs. inheritance, 1

combining composition & inheritance, 1

vs. inheritance, 1, 2

compression
Java 1.1 compression library, 1
ConcurrentModificationException, 1

conditional operator, 1

conference, Software Development Conference, 1

console input, 1

const, in C++, 1

constant
compile-time constant, 1

folding, 1

groups of constant values, 1

implicit constants, and String, 1

constrained properties, 1

constructor, 1, 2
and anonymous inner classes, 1

and exception handling, 1

and exceptions, 1

and finally, 1

and overloading, 1

and polymorphism, 1

arguments, 1

base-class constructor, 1

base-class constructors and exceptions, 1

behavior of polymorphic methods inside constructors, 1

C++ copy constructor, 1

calling base-class constructors with arguments, 1

calling from other constructors, 1

default, 1

default constructor synthesized by the compiler, 1

default constructors, 1

for reflection, 1, 2

initialization during inheritance and composition, 1

name, 1

no-arg constructors, 1

order of constructor calls with inheritance, 1

private constructor, 1

return value, 1

static construction clause, 1

consulting & mentoring provided by Bruce Eckel , 1

consume( ), 1

Container, 1

container class, 1

ContainerAdapter, 1

ContainerEvent, 1, 2

ContainerListener, 1

content-type, HTML, 1

continue keyword, 1

control framework, and inner classes, 1

controlling access, 1, 2, 3

conversion
automatic, 1

narrowing conversion, 1, 2

widening conversion, 1

copy
deep copy, 1

shallow copy, 1

copy-constructor, in C++, 1

CORBA, 1, 2

CORBA and Java, interfacing, 1

couplet, 1, 2

coupling, 1

CRC32, 1

createStatement( ), 1

creational design patterns, 1

critical section, and synchronized block, 1

currentThread(), 1

D
daemon threads, 1

data
final , 1

primitive data types and use with operators, 1

static initialization, 1

database
flat-file database, 1

Java DataBase Connectivity (JDBC), 1

relational database, 1

URL, 1

DatabaseMetaData, 1

DataFlavor, 1

Datagram, 1, 2, 3
receive( ), 1

User Datagram Protocol (UDP), 1

DatagramPacket, 1, 2, 3

DatagramSocket, 1, 2

DataInput, 1

DataInputStream, 1, 2, 3, 4, 5, 6, 7

DataOutput, 1

DataOutputStream, 1, 2, 3, 4, 5

DCOM, 1

deadlock, multithreading, 1, 2

decorator design pattern, 1

decoupling through polymorphism, 1

decrement operator, 1

deep copy, 1, 2
and Vector, 1

using serialization to perform deep copying, 1

default constructor, 1, 2
synthesized by the compiler, 1

synthesizing a default constructor, 1

default keyword, in a switch statement, 1

default package, 1

DefaultMutableTreeNode, 1

defaultReadObject( ), 1

DefaultTreeModel, 1

defaultWriteObject( ), 1

DeflaterOutputStream, 1

Delphi, from Borland, 1

dequeue, 1

derived
derived class, 1

derived class, initializing, 1

design, 1, 2
abstraction in program design, 1

adding more methods to a design, 1

analysis & design, object-oriented, 1

and composition, 1

and inheritance, 1

and mistakes, 1

library design, 1

of object hierarchies, 1

design patterns, 1, 2
creational, 1, 2

decorator, 1

factory method, 1

observer, 1

prototype, 1, 2

singleton, 1

vector of change, 1, 2

visitor, 1

desktop colors, 1

destroy( ), 1, 2

destructor, 1, 2, 3
Java doesn’t have one, 1
development, incremental, 1

diagram, class inheritance diagrams, 1

Dialog, 1
Java 1.1, 1
dialog box, 1

Dictionary, 1

directory
and packages, 1

creating directories and paths, 1

lister, 1

dispatchEvent( ), 1

dispatching
double dispatching, 1, 2

multiple dispatching, 1

dispatching messages, AWT, 1

dispose( ), 1, 2, 3

division, 1

do-while, 1

documentation
comments & embedded documentation, 1
Domain Name Service (DNS), 1

dotted quad, 1

double dispatching, 1, 2

double, literal value marker (D), 1

Double.valueOf( ), 1

downcast, 1, 2, 3
type-safe downcast in run-time type identification, 1
drawString( ), 1

drop-down list, 1

dynamic
array creation, 1

behavior change with composition, 1

binding, 1, 2

E
early binding, 1

East, 1

efficiency
and arrays, 1

and final, 1

and threads, 1

when using the synchronized keyword, 1

elegance, in programming, 1

elementAt( ), Vector, 1, 2

else keyword, 1

emergent behavior, 1

enableEvents( ), 1, 2

encapsulation, 1

encode( ), URLEncoder, 1

end( ), 1

enum, groups of constant values in C & C++, 1

Enumeration, 1, 2, 3, 4, 5
hasMoreElements( ), 1

nextElement( ), 1

equals( ), 1, 2, 3
overriding for Hashtable, 1

vs. ==, 1

equivalence
==, 1

object equivalence, 1

error
handling with exceptions, 1

recovery, 1

reporting errors in book, 1

event
Event object, 1

Event object, AWT, 1

event-driven programming, 1

event-driven system, 1

Java Beans, 1

listener, 1

match an event to the text on a button, 1

model, new in Java 1.1, 1

multicast, 1

multicast event and Java Beans, 1

target, 1

unicast, 1

event listener
order of execution, 1
EventSetDescriptors, 1

exception
and base-class constructors, 1

and constructors, 1

and inheritance, 1, 2

catching an exception, 1

catching any exception, 1

changing the point of origin of the exception, 1

class hierarchies, 1

constructors, 1

creating your own, 1

design issues, 1

Error class, 1

Exception class, 1

exception handler, 1

exception handling, 1

exception matching, 1

FileNotFoundException, 1

fillInStackTrace( ), 1

finally, 1

guarded region, 1

handler, 1

handling, 1

losing an exception, pitfall, 1

NullPointerException, 1

printStackTrace( ), 1

re-throwing an exception, 1

restrictions, 1

RuntimeException, 1

specification, 1

termination vs. resumption, 1

Throwable, 1

throwing an exception, 1, 2

try, 1

try block, 1

typical uses of exceptions, 1

exceptional condition, 1

exceptions
and JNI , 1
exec( ), 1, 2

executeQuery( ), 1

Exponential notation, 1

extends, 1, 2, 3
and interface, 1

keyword, 1

extensible, 1
program, 1
extension
pure inheritance vs. extension, 1
Externalizable, 1
alternative approach to using, 1
extracting code listings, 1

F
factory method, 1

fail fast collections, 1

false, 1

FeatureDescriptor, 1

Field, for reflection, 1

fields, initializing fields in interfaces, 1

File, 1, 2, 3, 4
characteristics of files, 1

class, 1

data file output shorthand, 1

File.list( ), 1

formatted file output shorthand, 1

input shorthand, 1

JAR file, 1

mkdirs( ), 1

File Transfer Protocol (FTP), 1

FileDescriptor, 1

FileDialog, 1
Java 1.1, 1
FileInputStream, 1, 2

FilenameFilter, 1, 2

FileNotFoundException, 1

FileOutputStream, 1, 2

FileReader, 1, 2

FileWriter, 1

fillInStackTrace( ), 1

FilterInputStream, 1

FilterOutputStream, 1

FilterReader, 1

FilterWriter, 1

final, 1
and efficiency, 1

and static, 1

argument, 1, 2

blank finals in Java 1.1, 1

classes, 1

data, 1

keyword, 1

method, 1

methods, 1

static primitives, 1

with object handles, 1

finalize( ), 1, 2, 3
and inheritance, 1

and super, 1

calling directly, 1

order of finalization of objects, 1

runFinalizersOnExit( ), 1

finally, 1, 2
and constructors, 1

keyword, 1

pitfall, 1

finding .class files during loading, 1

firewall, 1

flat-file database, 1

flavor, clipboard, 1

flicker, eliminating, 1

float, literal value marker(F), 1

floating point
true and false, 1
flocking, simulating behavior, 1

FlowLayout, 1

Focus traversal, 1

FocusAdapter, 1

FocusEvent, 1, 2

focusGained( ), 1

FocusListener, 1

focusLost( ), 1

folding, constant, 1

Font, 1

font, proportionally-spaced, 1

for keyword, 1

forName( ), 1, 2

FORTRAN, 1

forward referencing, 1

Frame, 1, 2
creating a Frame from within an applet, 1
framework
application framework, 1

control framework and inner classes, 1

friendly, 1, 2
and interface, 1
FTP
File Transfer Protocol (FTP), 1
functor, 1

G
garbage collection, 1, 2, 3
and cleanup, 1

and native method execution, 1

forcing finalization, 1

how it works, 1

order of object reclamation, 1

setting handles to null to allow cleanup, 1

generic, 1

Generic Collection Library for Java (JGL), 1

GET, 1
CGI, 1

request, 1

get( ), Hashtable, 1

getAddress( ), 1

getAlignment( ), 1

getAppletContext( ), 1

getBeanInfo( ), 1

getClass( ), 1, 2

getConstructor( ), 1

getConstructor( ), reflection, 1

getConstructors( ), 1
reflection, 1
getContents( ), 1

getDirectory( ), 1

getDocumentBase( ), 1

getEventSetDescriptors( ), 1

getFile( ), 1

getFloat( ), 1

getInputStream( ), 1, 2

getInt( ), 1

getInterfaces( ), 1

getMethodDescriptors( ), 1

getMethods( ), 1

getModel( ), 1

getName( ), 1, 2

getOutputStream( ), 1, 2

getPort( ), 1

getPrintJob( ), 1, 2

getPriority( ), 1

getProperties( ), 1

getPropertyDescriptors( ), 1

getPropertyType( ), 1

getReadMethod( ), 1

getSelectedItems( ), 1

getState( ), 1

getString( ), 1

getSuperclass( ), 1

getText( ), 1

getTransferData( ), 1

getTransferDataFlavors( ), 1

getWriteMethod( ), 1

GNU C++ Compiler, 1

gotFocus( ), 1

goto
lack of goto in Java, 1
graphical user interface (GUI), 1, 2

graphics, 1
Graphics object, 1, 2
greater than (>), 1

greater than or equal to (>=), 1

GridBagLayout, 1

GridLayout, 1, 2

guarded region, in exception handling, 1

GUI
builders, 1

graphical user interface, 1, 2

GUID
Globally Unique IDentifier, 1
guidelines, coding standards, 1

GZIPInputStream, 1

GZIPOutputStream, 1

H
handle
assigning objects by copying handles, 1

equivalence vs object equivalence, 1

final, 1

finding exact type of a base handle, 1

handle equivalence vs. object equivalence, 1

null, 1

handleEvent( ), 1, 2, 3

handler, exception, 1

hardware devices, interfacing with, 1

has-a relationship, composition, 1

hashCode( ), 1, 2
overriding for Hashtable, 1
HashMap, 1

HashSet, 1

Hashtable, 1, 2, 3, 4, 5, 6, 7, 8, 9
combined with Vector, 1

used with Vector, 1

hasMoreElements( ), Enumeration, 1

hasNext( ), 1

herding, simulating behavior, 1

Hexadecimal, 1

hiding, implementation, 1

HRESULT, 1

HTML, 1, 2
name, 1

param, 1

value, 1

I
Icon, 1

idltojava, 1

if-else statement, 1, 2

IllegalMonitorStateException, 1

ImageIcon, 1

immutable objects, 1

implementation
and interface, 1, 2

and interface, separation, 1, 2

hiding, 1, 2

implements keyword, 1

import keyword, 1

increment operator, 1

incremental development, 1, 2

indexed property, 1

indexing operator [ ], 1

indexOf( ), 1, 2
String, 1, 2, 3
InetAddress, 1

InflaterInputStream, 1

inheritance, 1, 2, 3, 4
and cloning, 1

and design patterns, 1

and final, 1

and finalize( ), 1

and synchronized, 1

choosing composition vs. inheritance, 1

class inheritance diagrams, 1

combining composition & inheritance, 1

designing with inheritance, 1

extending interfaces with inheritance, 1

from an abstract class, 1

from inner classes, 1

inheritance and method overloading vs. overriding, 1

initialization with inheritance, 1

multiple inheritance in C++ and Java, 1

pure inheritance vs. extension, 1

specialization, 1

vs composition, 1

vs. composition, 1

init( ), 1, 2

initialization
and class loading, 1

array initialization, 1

base class, 1

class member, 1

constructor initialization during inheritance and composition, 1

initializing class members at point of definition, 1

initializing with the constructor, 1

instance initialization, 1

instance initialization in Java 1.1, 1

member initializers, 1

non-static instance initialization, 1

of class data members, 1

of method variables, 1

order of initialization, 1, 2

static, 1

with inheritance, 1

inline method calls, 1

inner class, 1, 2, 3, 4, 5

inner class
access rights, 1

and overriding, 1

and super, 1

and control frameworks, 1

and the AWT, 1

and upcasting, 1

anonymous, 1, 2

anonymous inner class, 1, 2

anonymous inner class and constructors, 1

hidden reference to the object of the enclosing class, 1

identifiers and .class files, 1

in methods & scopes, 1

inheriting from inner classes, 1

nesting within any arbitrary scope, 1

private, 1

private inner classes, 1

referring to the outer class object, 1

static, 1

static inner classes, 1

input
console input, 1

file input shorthand, 1

InputStream, 1, 2, 3

InputStreamReader, 1, 2, 3

insertNodeInto( ), 1

instance
instance initialization in Java 1.1, 1

non-static instance initialization, 1

instanceof
dynamic instanceof, 1

keyword, 1

Integer
parseInt( ), 1
interface
and implementation, separation, 1

and inheritance, 1

base-class interface, 1

Cloneable interface used as a flag, 1

common interface, 1

graphical user interface (GUI), 1, 2

initializing fields in interfaces, 1

keyword, 1

Runnable, 1

separation of interface and implementation, 1

upcasting to an interface, 1

vs. abstract, 1

vs. implemenation, 1

interfacing with hardware devices, 1

internationalization, in IO library, 1

Internet
Internet Protocol, 1

Internet Service Provider (ISP), 1

interrupt( ), 1

InterruptedException, 1

Intranet, 1

Introspector, 1

IO
and threads, blocking, 1

available( ), 1

blocking on IO, 1

blocking, and available( ), 1

BufferedInputStream, 1, 2

BufferedOutputStream, 1, 2

BufferedReader, 1, 2, 3

BufferedWriter, 1

ByteArrayInputStream, 1

ByteArrayOutputStream, 1

characteristics of files, 1

CharArrayReader, 1

CharArrayWriter, 1

CheckedInputStream, 1

CheckedOutputStream, 1

close( ), 1

connecting to a non-Java program, 1

console input, 1

controlling the process of serialization, 1

data file output shorthand, 1

DataInput, 1

DataInputStream, 1, 2, 3, 4, 5, 6, 7

DataOutput, 1

DataOutputStream, 1, 2, 3, 4, 5

DeflaterOutputStream, 1

deprecated, 1

directory lister, 1

directory, creating directories and paths, 1

exec( ), 1

Externalizable, 1

File, 1, 2, 3, 4

File class, 1

file input shorthand, 1

File.list( ), 1

FileDescriptor, 1

FileInputStream, 1, 2

FilenameFilter, 1, 2

FileOutputStream, 1, 2

FileReader, 1, 2

FileWriter, 1

FilterInputStream, 1

FilterOutputStream, 1

FilterReader, 1

FilterWriter, 1

formatted file output shorthand, 1

from standard input, 1

GZIPInputStream, 1

GZIPOutputStream, 1

InflaterInputStream, 1

input, 1

InputStream, 1, 2, 3

InputStreamReader, 1, 2, 3

internationalization, 1

Java 1.1 compression library, 1

library, 1

lightweight persistence, 1

LineNumberInputStream, 1, 2

LineNumberReader, 1

mark( ), 1

mkdirs( ), 1, 2

nextToken( ), 1

ObjectOutputStream, 1

output, 1

OutputStream, 1, 2, 3, 4

OutputStreamWriter, 1, 2, 3

pipe, 1

piped stream, 1

PipedInputStream, 1, 2

PipedOutputStream, 1, 2, 3

PipedReader, 1

PipedWriter, 1

PrintStream, 1, 2, 3

PrintWriter, 1, 2

Process, 1

pushBack( ), 1

PushbackInputStream, 1

PushBackReader, 1

RandomAccessFile, 1, 2, 3

read( ), 1

readChar( ), 1

readDouble( ), 1

Reader, 1, 2, 3

readExternal( ), 1

readLine( ), 1, 2, 3, 4, 5, 6

readObject( ), 1

redirecting standard IO, 1

renameTo( ), 1

reset( ), 1

seek( ), 1, 2

SequenceInputStream, 1, 2

Serializable, 1

setErr(PrintStream), 1

setIn(InputStream), 1

setOut(PrintStream), 1

StreamTokenizer, 1, 2, 3, 4

StringBuffer, 1

StringBufferInputStream, 1, 2

StringReader, 1

StringWriter, 1

System.err, 1

System.in, 1, 2

System.out, 1

text file manipulation, 1

transient, 1

typical IO configurations, 1

Unicode, 1

write( ), 1

writeBytes( ), 1

writeChars( ), 1

writeDouble( ), 1

writeExternal( ), 1

writeObject( ), 1

Writer, 1, 2, 3

ZipEntry, 1

ZipInputStream, 1

ZipOutputStream, 1

IP (Internet Protocol), 1

is-a, 1
relationship, inheritance, 1

relationship, inheritance & upcasting, 1

is-like-a, 1

isDaemon( ), 1

isDataFlavorSupported( ), 1

isFocusTraversable( ), 1

isInstance, 1

isInterface( ), 1

ISP (Internet Service Provider), 1

isPopupTrigger( ), 1

ItemEvent, 1, 2, 3

ItemListener, 1, 2

itemStateChanged( ), 1

iteration, during software development, 1

iterator, 1, 2, 3

iterator( ), 1

J
J/Direct, 1

jactivex, 1

JAR, 1
archive tag, for HTML and JAR files, 1

file, 1, 2

files, 1

jar files and classpath, 1

Java 1.1 JAR utility, 1

packaging applets to optimize loading, 1

Java
and classpath, 1

and pointers, 1

and set-top boxes, 1

C++ in contrast with Java, 1

capitalization style source-code checking tool, 1

comparing C++ and Java, 1

connecting to a non-Java program, 1

crashing Java, 1

public Java seminars, 1

speed, 1

versions, 1

Java 1.0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51

Java 1.1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112
and Swing, 1

AWT, 1

IO streams, 1

JAR utility, 1

new array initialization syntax, 1

new AWT, 1

reflection, 1, 2, 3

String behavior, 1

Java 1.2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
collections library, new, 1

new collections library, 1

Swing library, 1

Java Beans
see Beans, 1
Java Foundation Classes (JFC/Swing), 1

Java Generic Library (former name of the JGL), 1

Java Native Interface (JNI), 1

Java operators, 1

Java Runtime Interface, 1

Java Virtual Machine, 1

Java/COM integration, 1

javah, 1

Javareg, 1

JButton, 1

JCheckbox, 1

JColorChooser, 1

JComboBox, 1

JComponent, 1

JDBC
createStatement( ), 1

database URL, 1

DatabaseMetaData, 1

executeQuery( ), 1

flat-file database, 1

getFloat( ), 1

getInt( ), 1

getString( ), 1

Java DataBase Connectivity, 1

join, 1

relational database, 1

ResultSet, 1

SQL stored procedures, 1

Statement, 1

Structured Query Language (SQL), 1

JFC
Java Foundation Classes (JFC/Swing), 1
JFileChooser, 1

JFrame, 1

JGL
Generic Collection Library for Java, 1
JHTMLPane, 1

JInternalFrame, 1

JIT
Just-In Time compilers, 1
JLabel, 1

JLabels, 1

JList, 1

JMenu, 1

JMenuItem, 1, 2

JMenuItems, 1

JNI
Java Native Interface, 1
JNI functions, 1

JNICALL, 1

JNIEnv, 1

JNIEXPORT, 1

join, 1

JOptionPane, 1

JPasswordField, 1

JPopupMenu, 1

JProgressBar, 1

JRadioButton, 1

JScrollPane, 1, 2, 3

JSlider, 1

JTabbedPane, 1

JTextField, 1

JTextPane, 1

JToggleButton, 1

JToolbar, 1

JTree, 1, 2

JVM (Java Virtual Machine), 1

K
KeyAdapter, 1

keyboard navigation, and Swing, 1

keyDown( ), 1

KeyEvent, 1, 2

KeyListener, 1

keyPressed( ), 1

keyReleased( ), 1

keySet( ), 1

keyTyped( ), 1

keyUp( ), 1

L
label, 1, 2

labeled break, 1

labeled continue, 1

late binding, 1, 2

layout
combining layouts, 1

controlling layout, 1

layout manager, 1, 2

lazy evaluation, 1

left-shift operator (<<), 1

length( ), 1

length, for arrays, 1

less than (<), 1

less than or equal to (<=), 1

library
design, 1

use, 1

lightweight
Swing components, 1
lightweight persistence, 1

LineNumberInputStream, 1, 2

LineNumberReader, 1

linked list, 1

LinkedList, 1

List, 1, 2, 3
boxes, 1

drop-down list, 1

Java 1.1, 1

sorting, 1

list box, 1

listener adapters, 1

listener classes, 1

ListIterator, 1

literal
class literal, 1, 2

double, 1

float, 1

long, 1

values, 1

loading
.class files, 1

initialization & class loading, 1

loding a class, 1

local loopback IP address, 1

localhost, 1

lock, for multithreading, 1

logarithms
natural logarithms, 1
logical
AND, 1

operator and short-circuiting, 1

operators, 1

OR, 1

long, literal value marker (L), 1

lostFocus( ), 1

lvalue, 1

M
main( ), 1

manifest file, for JAR files, 1, 2

map, 1, 2

mark( ), 1

marshaling, 1

Math.random( ), 1
values produced by, 1
mathematical operators, 1

max( ), 1

MDI, 1

Menu, 1
Java 1.1, 1

popup menu, 1

Swing, 1

menu shortcuts, 1

MenuBar, 1, 2

MenuComponent, 1

MenuItem, 1, 2
Java 1.1, 1
message box, in Swing, 1

meta-class, 1

Method, 1
adding more methods to a design, 1

aliasing during a method call, 1

aliasing during method calls, 1

behavior of polymorphic methods inside constructors, 1

distinguishing overloaded methods, 1

final, 1

final methods, 1

for reflection, 1

inline method calls, 1

inner classes in methods & scopes, 1

lookup tool, 1

method call binding, 1

overloading, 1

passing a handle into a method, 1

polymorphic method call, 1

polymorphic method calls, 1

protected methods, 1

recursive, 1

recursive method calls, 1

static, 1

synchronized method and blocking, 1

initialization of method variables, 1

MethodDescriptors, 1

methodology, software development, 1

Microsoft, 1
Visual Basic, 1
min( ), 1

mistakes, and design, 1

mkdirs( ), 1, 2

modulus, 1

monitor, for multithreading, 1

MouseAdapter, 1

mouseClicked( ), 1

mouseDown( ), 1, 2

mouseDrag( ), 1

mouseDragged( ), 1

mouseEnter( ), 1

mouseEntered( ), 1

MouseEvent, 1, 2, 3

mouseExit( ), 1

mouseExited( ), 1

MouseListener, 1

MouseMotionAdapter, 1

MouseMotionListener, 1

mouseMove( ), 1

mouseMoved( ), 1

mousePressed( ), 1

mouseReleased( ), 1

mouseUp( ), 1

multi-tiered systems, 1

multicast, 1
event, and Java Beans, 1

multicast events, 1

multidimensional arrays, 1

Multimedia CD ROM for book, 1

multiple dispatching, 1

multiple inheritance, in C++ and Java, 1

multiple selection, AWT List, 1

multiple-document interface, 1

multiplication, 1

multitasking, 1

multithreading, 1, 2
and collections, 1

and Java Beans, 1

blocking, 1

deciding what methods to synchronize, 1

drawbacks, 1

Runnable, 1

stop( ), 1

when to use it, 1

N
name, 1
clash, 1

collisions, 1

creating unique package names, 1

spaces, 1

name, HTML keyword, 1

Naming
bind( ), 1

rebind( ), 1

unbind( ), 1

narrowing conversion, 1, 2

native code for connecting to a non-Java program, 1

native method interface (NMI) in Java 1.0, 1

natural comparison method, 1

natural logarithms, 1

network programming, 1
accept( ), 1

applet, 1

CGI GET, 1

CGI POST, 1

CGI programming in C++, 1

client, 1

Common-Gateway Interface (CGI), 1

connecting Java to CGI, 1

crash course in CGI programming, 1

datagram, 1, 2

Datagram.receive( ), 1

DatagramPacket, 1, 2, 3

datagrams, 1

DatagramSocket, 1, 2

dedicated connection, 1

displaying a Web page from within an applet, 1

DNS (Domain Name Service), 1

dotted quad, 1

firewall, 1

GET request, 1

getAddress( ), 1

getDocumentBase( ), 1

getInputStream( ), 1, 2

getOutputStream( ), 1, 2

getPort( ), 1

HTML, 1, 2

HTML content-type, in CGI programming, 1

identifying machines, 1

InetAddress, 1

intercepting results from a CGI program, 1

Internet Protocol (IP), 1

invoking a CGI program from Java, 1

Java DataBase Connectivity (JDBC), 1

local loopback IP address, 1

localhost, 1

multithreading, 1

openConnection( ), 1

port, 1

POST using an applet , 1

QUERY_STRING, 1

receive( ), 1, 2

reliable protocol, 1

server, 1

serving multiple clients, 1

Servlet Server, 1

servlet servers, 1

setAllowUserInteraction(false), 1

setDoInput(true), 1

setDoOutput(true), 1

showDocument( ), 1, 2

Socket, 1

stream-based sockets, 1

testing programs without a network, 1

Transmission Control Protocol (TCP), 1

unreliable protocol, 1

URL, 1, 2

URL openStream( ), 1

URLConnection, 1

URLEncoder.encode( ), 1

User Datagram Protocol (UDP), 1

Web application, 1

new collections library, 1

new operator, 1
and primitives, array, 1
newInstance( ), 1, 2
reflection, 1
newInstance( ), reflection, 1

next( ), 1

nextElement( ), Enumeration, 1

nextToken( ), 1

NMI
Java 1.0 native method interface, 1
no-arg
constructors, 1
non-Java
connecting to a non-Java program, 1
non-Java code, calling, 1

North, 1

not equivalent (!=), 1

notify( ), 1

notifyAll( ), 1

notifyListeners( ), 1

notifyObservers( ), 1, 2

null, 1, 2

NullPointerException, 1

numbers, binary, 1

O
object, 1, 2, 3, 4
aliasing, 1

array of Object, 1

arrays are first-class objects, 1

assigning objects by copying handles, 1

assignment, 1

business object/logic, 1

Class object, 1, 2, 3

clone( ), 1, 2

creation, 1

equals( ) method, 1

equivalence, 1

equivalence vs handle equivalence, 1

final, 1

getClass( ), 1

handle equivalence vs. object equivalence, 1

immutable objects, 1

lock, for multithreading, 1

object-oriented programming, 1

order of finalization of objects, 1

process of creation, 1

serialization, 1, 2

web of objects, 1, 2

object-oriented
analysis & design, 1
object-oriented programming, 1

ObjectOutputStream, 1

ObjectSpace, 1

Observable, 1

Observer, 1

observer design pattern, 1

Octal, 1

ODBC, 1

OMG, 1

ones complement operator, 1

OOP, 1
protocol, 1
openConnection( ), 1

openStream( ), URL, 1

operator, 1
+ and += overloading for String, 1

+, for String, 1

== and !=, 1

binary, 1

bitwise, 1

casting, 1

comma, 1

comma operator, 1

common pitfalls, 1

indexing operator [ ], 1

logical, 1

logical operators and short-circuiting, 1

ones-complement, 1

operator overloading for String, 1

overloading, 1

precedence, 1

precedence mnemonic, 1

relational, 1

shift, 1

unary, 1, 2

ternary, 1

operator overloading
in C++, 1
optimization, 1

optional methods, in the Java 1.2 collections, 1

OR, 1
(||), 1
ORB (Object Request Broker), 1

order
of constructor calls with inheritance, 1

of finalization of objects, 1

of initialization, 1, 2, 3

organization, code, 1

output
data file output shorthand, 1

formatted file output shorthand, 1

OutputStream, 1, 2, 3, 4

OutputStreamWriter, 1, 2, 3

overflow
and primitive types, 1

stack overflow, 1

overloading
and constructors, 1

distinguishing overloaded methods, 1

lack of name hiding during inheritance, 1

method overloading, 1

on return values, 1

operator + and += overloading for String, 1

operator overloading, 1

operator overloading for String, 1

overloading vs. overriding, 1

vs. overriding, 1

overriding
and inner classes, 1

overloading vs. overriding, 1

vs. overloading, 1

P
package, 1, 2
access, and friendly, 1

and applets, 1

and directory structure, 1

creating unique package names, 1

default package, 1

names, capitalization, 1

statement and book chapter subdirectories, 1

visibility, friendly, 1

paint( ), 1, 2, 3, 4, 5

Panel, 1

param, HTML keyword, 1

parameter, applet, 1

parameterized type, 1, 2, 3

parseInt( ), 1

pass
pass by value, 1

passing a handle into a method, 1

patterns, design patterns, 1, 2

performance, 1
and final, 1
performance guidelines, 1

persistence, 1
lightweight persistence, 1
pipe, 1

piped stream, 1

PipedInputStream, 1, 2

PipedOutputStream, 1, 2, 3

PipedReader, 1

PipedWriter, 1

planning, software development, 1

platform-independent file manipulation, 1

pointers, and Java, 1

polymorphism, 1, 2, 3, 4, 5, 6, 7
and constructors, 1

behavior of polymorphic methods inside constructors, 1

popup menu, 1

port, 1

portability in C, C++ and Java, 1

POST, 1
CGI, 1

using an applet, 1

precedence
operator precedence mnemonic, 1
primitive
collections of primitives, 1

comparison, 1

data types, and use with operators, 1

dealing with the immutability of primitive wrapper classes, 1

final, 1

final static primitives, 1

initialization of class data members, 1

wrappers, 1

print( ), 1, 2

PrintGraphics, 1

printInfo( ), 1

printing, 1
text, 1
PrintJob, 1

println( ), 1

printStackTrace( ), 1, 2

PrintStream, 1, 2, 3

PrintWriter, 1, 2

priority
default priority for a Thread group, 1

thread, 1

private, 1, 2, 3, 4, 5, 6
and the final specifier, 1

constructor, 1

inner class, 1

inner classes, 1

problem space, 1, 2

Process, 1

process, and threading, 1

processEvent( ), 1

profiling, 1

ProgID, 1

programmer, client, 1

programming
coding standards, 1

event-driven programming, 1

object-oriented, 1, 2

progress bar, 1

promotion
of primitive types, 1

type promotion, 1

Properties, 1, 2

property, 1
bound properties, 1

constrained properties, 1

custom property editor, 1

custom property sheet, 1

indexed property, 1

PropertyChangeEvent, 1

PropertyDescriptors, 1

proportionally-spaced font, 1

ProptertyVetoException, 1

protected, 1, 2, 3, 4
and friendly, 1

use in clone( ), 1

protocol, 1
unreliable protocol, 1
prototype, 1
design pattern, 1
public, 1, 2, 3, 4
and interface, 1

class, and compilation units, 1

pure inheritance, vs. extension, 1

pure substitution, 1

pushBack( ), 1

PushbackInputStream, 1

PushBackReader, 1

put( ), Hashtable, 1

Q
QUERY_STRING, 1

queue, 1

Quicksort, 1

R
RAD (Rapid Application Development), 1

radio button, 1

random number generator, values produced by, 1

random( ), 1

Random.nextBytes( ), 1

RandomAccessFile, 1, 2, 3

Raw Native Interface (RNI), 1

re-throwing an exception, 1

read( ), 1, 2

readChar( ), 1

readDouble( ), 1

Reader, 1, 2, 3, 4

readExternal( ), 1

reading from standard input, 1

readLine( ), 1, 2, 3, 4, 5, 6

readObject( ), 1
with Serializable , 1
rebind( ), 1

receive( ), 1, 2
Datagram, 1
recursive, 1
method calls, 1
redirecting standard IO, 1

referencing, forward referencing, 1

reflection, 1, 2, 3, 4
and Beans, 1

difference between RTTI and reflection, 1

Java 1.1 reflection, 1

registry
remote object registry, 1

Windows registry, 1

relational
database, 1

operators, 1

reliable protocol, 1

Remote Method Invocation (RMI), 1

RemoteException, 1

remove( ), 1

removeActionListener( ), 1, 2, 3

removeAdjustmentListener( ), 1

removeComponentListener( ), 1

removeContainerListener( ), 1

removeFocusListener( ), 1

removeItemListener( ), 1

removeKeyListener( ), 1

removeMouseListener( ), 1

removeMouseMotionListener( ), 1

removeTextListener( ), 1

removeWindowListener( ), 1

renameTo( ), 1

repaint( ), 1

replace( ), 1

reporting errors in book, 1

requestFocus( ), 1

requirements analysis, 1

reset( ), 1

resources, 1

ResultSet, 1

resume( ), 1, 2
and deadlocks, 1

deprecation in Java 1.2, 1

resumption, termination vs. resumption, exception handling, 1

return
constructor return value, 1

overloading on return value, 1

reuse, 1
code reuse, 1

reusable code, 1

right-shift operator (>>), 1

RMI
AlreadyBoundException, 1

and CORBA, 1

bind( ), 1

CORBA, 1

localhost, 1

rebind( ), 1

Remote, 1

remote interface, 1

Remote Method Invocation, 1

remote object registry, 1

RemoteException, 1, 2

rmic, 1

rmic and classpath, 1

rmiregistry, 1

RMISecurityManager, 1

Serializable arguments, 1

skeleton, 1

stub, 1

TCP/IP, 1

unbind( ), 1

UnicastRemoteObject, 1

rmic, 1

rmiregistry, 1

RMISecurityManager, 1

RNI
Raw Native Interface, 1
rollover, 1

RTI
Class, 1
RTTI
and cloning, 1

cast, 1

Class object, 1

ClassCastException, 1

Constructor, 1, 2

difference between RTTI and reflection, 1

downcast, 1

eliminating from your design, 1

Field, 1

getConstructor( ), 1

instanceof keyword, 1

isInstance, 1

meta-class, 1

Method, 1

misuse of RTTI, 1, 2, 3

newInstance( ), 1

reflection, 1

run-time type identification (RTTI), 1

type-safe downcast, 1

using the Class object, 1

run-time binding, 1
polymorphism, 1
run-time type identification
(RTTI), 1

misuse, 1

shape example, 1

when to use it, 1

runFinalizersOnExit( ), 1, 2

Runnable, 1, 2
interface, 1
running programs and the classpath, 1

Runtime, 1

RuntimeException, 1, 2

rvalue, 1

S
safety, and applet restrictions, 1

scheduling, software development, 1

scope
inner class nesting within any arbitrary scope , 1

inner classes in methods & scopes, 1

section, critical section and synchronized block, 1

seek( ), 1, 2

selection, multiple selection in an AWT List, 1

seminars
public Java seminars, 1

training, provided by Bruce Eckel, 1

separation of interface and implementation, 1, 2

SequenceInputStream, 1, 2

Serializable, 1, 2, 3, 4, 5
readObject( ), 1

writeObject( ), 1

serialization
and object storage, 1

and transient, 1

controlling the process of serialization, 1

defaultReadObject( ), 1

defaultWriteObject( ), 1

RMI arguments, 1

to perform deep copying, 1

Versioning, 1

server, 1

server-side programming, 1

Servlet Server, 1

servlet servers, 1

servlets, 1

Set, 1, 2

setActionCommand( ), 1

setAlignment( ), 1

setAllowUserInteraction(false), 1

setBorder( ), 1

setChanged( ), 1

setCheckboxGroup( ), 1

setContents( ), 1

setDaemon( ), 1

setDirectory( ), 1

setDoInput(true), 1

setDoOutput(true), 1

setEditable( ), 1

setErr(PrintStream), 1

setFile( ), 1

setIcon( ), 1

setIn(InputStream), 1

setLayout( ), 1

setMenuBar( ), 1

setOut(PrintStream), 1

setPriority( ), 1

setSelectedIndex( ), 1

setText( ), 1

setToolTipText( ), 1

shallow copy, 1, 2

shape
example, 1

example, and run-time type identification, 1

shift operators, 1

shortcut, menu shortcuts, 1

show( ), 1

showConfirmDialog( ), 1

showDocument( ), 1, 2

showMessageDialog( ), 1

showStatus( ), 1

side effect, 1, 2, 3, 4

signed two’s complement, 1

Simula-67, 1

simulation, 1

singleton, 1
design pattern, 1
size( ), Vector, 1

sizeof( )
lack of in Java, 1
skeleton, RMI, 1

sleep( ), 1, 2, 3, 4

slider, 1

Smalltalk, 1, 2, 3

Socket, 1

sockets, stream-based, 1

Software Development Conference, 1

software development, process, 1

sort( ), 1

sorting, 1

source code copyright notice, 1

South, 1

specialization, 1

specification
system specification, 1
specification, exception, 1

specifier
access specifiers, 1, 2, 3
speed, and Java, 1

Spinner, 1

Springs & Struts, 1

SQL
stored procedures, 1

Structured Query Language, 1

Stack, 1, 2, 3, 4
and object creation, 1

overflow, 1

standard input
Reading from standard input, 1
Standard Template Library (STL) for C++, 1

standards
coding standards, 1, 2
start( ), 1, 2

Statement, 1

static, 1
and final, 1

and inner classes, 1

block, 1

clause, 1

construction clause, 1

data initialization, 1

final static primitives, 1

initialization, 1

inner classes, 1

keyword, 1

method, 1

synchronized static, 1

status line, Web browser , 1

STL
C++, 1

C++ Standard Template Library, 1

Standard Template Library for C++, 1

stop( ), 1, 2, 3
and deadlocks, 1

deprecation in Java 1.2, 1

stored procedures in SQL, 1

stream-based sockets, 1

StreamTokenizer, 1, 2, 3, 4

String, 1
automatic type conversion, 1

class methods, 1

concatenation with operator +, 1

immutability, 1

indexOf( ), 1, 2, 3, 4, 5

length( ), 1

lexicographic vs. alphabetic sorting, 1

methods, 1

Operator +, 1, 2

operator + and += overloading, 1

replace( ), 1

substring( ), 1

toString( ), 1, 2

trim( ), 1, 2

substring( ), 1

trim( ), 1

StringBuffer, 1, 2
methods, 1
StringBufferInputStream, 1, 2

StringReader, 1

StringSelection, 1

StringSpinner, 1

StringTokenizer, 1

StringWriter, 1

Stroustrup, Bjarne (C++ inventor), 1

structural design patterns, 1

stub, RMI, 1

style of creating classes, 1

subList( ), 1

subobject, 1, 2

substring( ), 1, 2

subtraction, 1

super, 1
and finalize( ), 1

and inner classes, 1

super keyword, 1

super.action( ), 1

super.clone( ), 1, 2, 3

super.handleEvent( ), 1

superclass, 1

suspend( ), 1, 2
and deadlocks, 1

deprecation in Java 1.2, 1

Swing
AbstractButton, 1

addTab( ), 1

BasicArrowButton, 1

BoxLayout, 1

ButtonGroup, 1

combo box, 1

Component, 1

DefaultMutableTreeNode, 1

DefaultTreeModel, 1

getModel( ), 1

Icon, 1

ImageIcon, 1

insertNodeInto( ), 1

isPopupTrigger( ), 1

Java Foundation Classes (JFC), 1

JButton, 1

JCheckbox, 1

JColorChooser, 1

JComboBox, 1

JComponent, 1

JFileChooser, 1

JFrame, 1

JHTMLPane, 1

JInternalFrame, 1

JLabel, 1

JLabels, 1

JLayeredPane, 1

JList, 1

JMenu, 1

JMenuItem, 1, 2

JMenuItems, 1

JOptionPane, 1

JPasswordField, 1

JPopupMenu, 1

JProgressBar, 1

JRadioButton, 1

JScrollPane, 1, 2, 3

JSlider, 1

JTabbedPane, 1

JTextField, 1

JTextPane, 1

JToggleButton, 1

JToolbar, 1

JTree, 1, 2

keyboard navigation, 1

list box, 1

MDI, 1

Menus, 1

message box, 1

MouseEvent, 1

multiple-document interface, 1

newInstance( ), 1

popup menu, 1

progress bar, 1

rollover, 1

setBorder( ), 1

setIcon( ), 1

setSelectedIndex( ), 1

setToolTipText( ), 1

showConfirmDialog( ), 1

showMessageDialog( ), 1

slider, 1

Spinner, 1

splitter control, 1

Springs & Struts, 1

StringSpinner, 1

table, 1

TitledBorder, 1, 2

tool tip, 1

toolbar, 1

tree, 1

UI Component library, 1

undo, 1

switch keyword, 1

synchronized, 1
and inheritance, 1

and wait( ) & notify( ), 1

collections, 1

deciding what methods to synchronize, 1

efficiency, 1

method, and blocking, 1

static, 1

synchronized block, 1

system clipboard, 1

system specification, 1

System.err, 1

System.in, 1, 2

System.out, 1

System.out.println( ), 1

T
table, 1

tag, applet, in HTML, 1

target, of an event, 1

TCP, Transmission Control Protocol, 1

TCP/IP, and RMI, 1

template
C++ Standard Template Library (STL), 1

in C++, 1, 2

termination vs. resumption, exception handling, 1

ternary operator, 1

testing
unit testing, 1
testing techniques, 1

text
file manipulation, 1

processing, 1

TextArea, 1, 2
Java 1.1, 1
TextComponent, 1
Java 1.1, 1
TextEvent, 1, 2

TextField, 1
Java 1.1, 1
TextListener, 1

textValueChanged( ), 1

this keyword, 1

Thread, 1, 2
and Java Beans, 1

and Runnable, 1

blocked, 1

combined with main class, 1

daemon threads, 1

dead, 1

deadlock, 1

deciding what methods to synchronize, 1

destroy( ), 1

drawbacks, 1

getPriority( ), 1

interrupt( ), 1

IO and threads, blocking, 1

isDaemon( ), 1

notify( ), 1

notifyAll( ), 1

order of execution of threads, 1

priority, 1

properly suspending & resuming, 1

resume( ), 1, 2

resume( ) , deprecation in Java 1.2, 1

resume( ), and deadlocks, 1

run( ), 1

Runnable, 1

Runnable interface, 1

setDaemon( ), 1

setPriority( ), 1

sharing limited resources, 1

sleep( ), 1, 2, 3

start( ), 1

states, 1

stop( ) , deprecation in Java 1.2, 1

stop( ), and deadlocks, 1

stopping, 1

suspend( ), 1, 2

suspend( ) , deprecation in Java 1.2, 1

suspend( ), and deadlocks, 1

synchronized method and blocking, 1

thread group, 1

thread group, default priority, 1

threads and efficiency, 1

wait( ), 1, 2

when they can be suspended, 1

when to use threads, 1

yield( ), 1

throw keyword, 1

Throwable, 1
base class for Exception, 1
throwing an exception, 1

time-critical code sections, 1

TitledBorder, 1, 2

toArray( ), 1

token, 1

tool tip, 1

toolbar, 1

Toolkit, 1

TooManyListenersException, 1, 2

toString( ), 1, 2, 3, 4

training seminars provided by Bruce Eckel, 1

Transferable, 1

transient, 1

translation unit, 1

Transmission Control Protocol (TCP), 1

tree, 1

TreeMap, 1

trim( ), 1, 2, 3, 4

true, 1

try, 1, 2
try block in exceptions, 1
two’s complement, signed, 1

type
finding exact type of a base handle, 1

parameterized type, 1, 2

primitive data types and use with operators, 1

type checking and arrays, 1

type safety in Java, 1

type-safe downcast in run-time type identification, 1

TYPE field, for primitive class literals, 1

type library, 1

type safe sets of constants, 1

type-check coding, 1

type-conscious Vector, 1

U
UDP, User Datagram Protocol, 1

UML, Unified Modeling Language, 1

unary
minus (-), 1

operator, 1

operators, 1

plus (+), 1

unbind( ), 1

undo, 1

unicast, 1
unicast events, 1
UnicastRemoteObject, 1

Unicode, 1

unit testing, 1

unmodifiable collections, 1

unsupported methods, in the Java 1.2 collections, 1

UnsupportedOperationException, 1

upcasting, 1, 2, 3, 4
and interface, 1

inner classes and upcasting, 1

update( ), 1, 2

updates of the book, 1

URL, 1, 2
openStream( ), 1
URLConnection, 1

URLEncoder
encode( ), 1
use case, 1

User Datagram Protocol (UDP), 1

user interface
and threads, for responsiveness, 1

responsive, with threading, 1

V
value
preventing change at run-time, 1
value, HTML keyword, 1

variable
defining a variable, 1

initialization of method variables, 1

variable argument lists (unknown quantity and type of arguments), 1

Vector, 1, 2, 3, 4, 5, 6, 7, 8, 9
addElement( ), 1

and deep copying, 1

combined with Hashtable, 1

elementAt( ), 1, 2

size( ), 1

type-conscious Vector, 1

used with Hashtable, 1

vector of change, 1, 2, 3, 4, 5

versioning, serialization, 1

versions of Java, 1

visibility, package visibility, (friendly), 1

visitor pattern, 1

visual
programming, 1

programming environments, 1

Visual Basic, 1

Visual Basic, Microsoft, 1

W
wait( ), 1, 2

Web
application, 1

displaying a Web page from within an applet, 1

placing an applet inside a Web page, 1

safety, and applet restrictions, 1

Web browser
status line, 1
web of objects, 1, 2

West, 1

while, 1

widening conversion, 1

Win32 API, 1

window
Abstract Window Toolkit (see AWT), 1

standalone windowed application, 1

Web browser status line, 1

windowActivated( ), 1

WindowAdapter, 1

windowClosed( ), 1

windowClosing( ), 1

windowDeactivated( ), 1

windowDeiconified( ), 1

windowed applications, 1

WindowEvent, 1, 2, 3

windowIconified( ), 1

WindowListener, 1

windowOpened( ), 1

Windows registry, 1

WINDOW_CLOSING, 1

WINDOW_DESTROY, 1

wrapper, dealing with the immutability of primitive wrapper classes, 1

write( ), 1

writeBytes( ), 1

writeChars( ), 1

writeDouble( ), 1

writeExternal( ), 1

writeObject( ), 1
with Serializable, 1
Writer, 1, 2, 3, 4

X
XOR, 1

Y
yield( ), 1

Z
ZipEntry, 1

ZipInputStream, 1

ZipOutputStream, 1

[
[ ]
indexing operator [ ], 1
^
^, 1

^=, 1

|
|, 1

|=, 1

||, 1

Contents | Prev