Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By Corrected
Printed Page xiv
+1

They use it to refer to people who breaks into systems or wreaks havoc
with computers as their weapon.
->
They use it to refer to people who break into systems or wreak havoc
with computers as their weapon.

########################################

Anonymous  Mar 2007
Printed Page xvi
+1

This chapter revelas
->
This chapter reveals

########################################

Anonymous  Mar 2007
Printed Page 5
+3

The code is almost the same as JLabel.
->
The code is almost the same as ImageLabel.

########################################

Anonymous  Mar 2007
Printed Page 5
example 1-4

There is a missing constructor in the ImageButton() class. It is in the
downloadable example code, but not in the book. So this:

public class ImageButton extends JButton {

public ImageButton(ImageIcon icon) {

should be changed to:

public class ImageButton extends JButton {

public ImageButton(String img) {
this(new ImageIcon(img));
}

public ImageButton(ImageIcon icon) {



Anonymous  Jun 2008
Other Digital Version 5
example 1-4

There is a missing constructor in the ImageButton() class. It is in the
downloadable example code, but not in the book. So this:

public class ImageButton extends JButton {

public ImageButton(ImageIcon icon) {

should be changed to:

public class ImageButton extends JButton {

public ImageButton(String img) {
this(new ImageIcon(img));
}

public ImageButton(ImageIcon icon) {


Anonymous  Jun 2008
Printed Page 5
example 1-4

There is a missing constructor in the ImageButton() class. It is in the
downloadable example code, but not in the book. So this:

public class ImageButton extends JButton {

public ImageButton(ImageIcon icon) {

should be changed to:

public class ImageButton extends JButton {

public ImageButton(String img) {
this(new ImageIcon(img));
}

public ImageButton(ImageIcon icon) {



Anonymous 
Printed Page 7
sidebar "On Image Creation"

save any section of the image as it's own file
->
save any section of the image as its own file

########################################

Anonymous  Mar 2007
Printed Page 23
-1

After the obligatory call to super(), the constructor...
->
After the usual call to super(), the constructor...

########################################

Anonymous  Mar 2007
Printed Page 110
2nd Paragraph; The class "DefaultMutableTableModel" is not part of Java 1.4. "... like the

ability to add an remove rows provided by the DefaultMutableTableModel ..." "On the other hand, if
you subclass DefaultMutableTableModel ..." The search phrase "DefaultMutableTableModel" is not to be
found on java.sun.com, so I assume this class is not present in all Java version.

Changed:

If you go too high up the hierarchy by implementing TableModel
or subclassing DefaultTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultMutableTableModel. On the other hand,
if you subclass DefaultMutableTableModel, other developers will
be unhappy...

to:

If you go too high up the hierarchy by implementing TableModel
or subclassing AbstractTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultTableModel. On the other hand,
if you subclass DefaultTableModel, other developers will
be unhappy...

Anonymous  Jun 2008
Other Digital Version 110
2nd Paragraph; The class "DefaultMutableTableModel" is not part of Java 1.4. "... like the

ability to add an remove rows provided by the DefaultMutableTableModel ..." "On the other hand, if
you subclass DefaultMutableTableModel ..." The search phrase "DefaultMutableTableModel" is not to be
found on java.sun.com, so I assume this class is not present in all Java version.

Changed:

If you go too high up the hierarchy by implementing TableModel
or subclassing DefaultTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultMutableTableModel. On the other hand,
if you subclass DefaultMutableTableModel, other developers will
be unhappy...

to:

If you go too high up the hierarchy by implementing TableModel
or subclassing AbstractTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultTableModel. On the other hand,
if you subclass DefaultTableModel, other developers will
be unhappy...

Anonymous  Jun 2008
Printed Page 110
2nd Paragraph; The class "DefaultMutableTableModel" is not part of Java 1.4. "... like the

ability to add an remove rows provided by the DefaultMutableTableModel ..." "On the other hand, if
you subclass DefaultMutableTableModel ..." The search phrase "DefaultMutableTableModel" is not to be
found on java.sun.com, so I assume this class is not present in all Java version.

Changed:

If you go too high up the hierarchy by implementing TableModel
or subclassing DefaultTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultMutableTableModel. On the other hand,
if you subclass DefaultMutableTableModel, other developers will
be unhappy...

to:

If you go too high up the hierarchy by implementing TableModel
or subclassing AbstractTableModel, you would miss some typical Swing
functionality that developer expect, like the ability to add and remove
rows provided by DefaultTableModel. On the other hand,
if you subclass DefaultTableModel, other developers will
be unhappy...

Anonymous 
Printed Page 114
example 3-6, last 2 lines

public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
delegatedModel.setValueAt(aValue, rowIndex, columnIndex);
->
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
delegatedModel.setValueAt(aValue, getDelegatedRow(rowIndex), columnIndex);

########################################

Anonymous  Mar 2007
Printed Page 117
example 3-10, under static Object[][] data

{"A", new Integer(2), Color.gray.darker().darker()},
{"B", new Integer (3), Color.gray},
{"C", new Integer (1), Color.gray.darker()},

->

{"A", new Integer(2), Color.gray.darker().darker()},
{"B", new Integer(3), Color.gray},
{"C", new Integer(1), Color.gray.darker()}

########################################

Anonymous  Mar 2007
Printed Page 117
example 3-10, above TestSortableTableModel

static Object[] bonusData = {
"D", "0", Color.red
->
static Object[] bonusData = {
"D", new Integer(0), Color.red

########################################

Anonymous  Mar 2007
Printed Page 131
+3

I used a FileWriter instead of a FileInputStream because...
->
I used a FileWriter instead of a FileOutputStream because...

########################################

Anonymous  Mar 2007
Printed Page 131
last paragraph; FileInputStream should be FileOutputStream

The reader is correct. FileInputStream should be replaced with FileOutputStream

Anonymous  Jun 2008
Other Digital Version 131
last paragraph; FileInputStream should be FileOutputStream

The reader is correct. FileInputStream should be replaced with FileOutputStream

Anonymous  Jun 2008
Printed Page 131
last paragraph; FileInputStream should be FileOutputStream

The reader is correct. FileInputStream should be replaced with FileOutputStream

Anonymous 
Printed Page 174
example 4-4

} else {
in = new FileInputStream(file);
}
}

->

} else {
in = new FileInputStream(file);
}
// ... code that does something with the InputStream 'in'
}

########################################

Anonymous  Mar 2007
Printed Page 187
code example at bottom

public class JStatusPanel extends JPanel {
->
public class JStatusBar extends JPanel {

########################################

Anonymous  Mar 2007
Printed Page 188
code example at top

public JStatusPanel(){
->
public JStatusBar(){

########################################

Anonymous  Mar 2007
Printed Page 195
1st code block

Properties settings = new Properties();
settings.load(new FileInputStream("configuration.props"));
String name = frame.getName();

->

Properties settings = new Properties();
try {
settings.load(new FileInputStream("configuration.props"));
} catch (FileNotFoundException fnfe) {
settings.store (new FileOutputStream ("configuration.props"),
"Window settings");
}
String name = frame.getName();

########################################

Anonymous  Mar 2007
Printed Page 196
2nd code block

Properties settings = new Properties();
settings.load(new FileInputStream("configuration.props"));

Iterator it = saver.framemap.keySet().iterator();

->

Properties settings = new Properties();
try {
settings.load(new FileInputStream("configuration.props"));
} catch (FileNotFoundException fnfe) {
// quietly ignore and overwrite later
}

Iterator it = saver.framemap.keySet().iterator();

########################################

Anonymous  Mar 2007
Printed Page 200
3rd paragraph

expressed at
should be
expressed as

Anonymous  Jun 2008
Other Digital Version 200
3rd paragraph

expressed at
should be
expressed as

Anonymous  Jun 2008
Printed Page 200
3rd paragraph

expressed at
should be
expressed as

Anonymous 
Printed Page 254
Within paintComponent(Graphics g) method

The variable hints in g2.setRenderingHints(hints) was never declared and is an unknown variable.

The reader is correct. The line should be changed to:

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

Anonymous  Jun 2008
Other Digital Version 254
Within paintComponent(Graphics g) method

The variable hints in g2.setRenderingHints(hints) was never declared and is an unknown variable.

The reader is correct. The line should be changed to:

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

Anonymous  Jun 2008
Printed Page 254
Within paintComponent(Graphics g) method

The variable hints in g2.setRenderingHints(hints) was never declared and is an unknown variable.

The reader is correct. The line should be changed to:

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

Anonymous 
Printed Page 255
Run the Animator; Infinite loop bug in sample code for the InfiniteProgressPanel$Animator

if rampUp == false and alphaLevel == 0, the following code will never break itself out of the
animation loop as alphaLevel will always fail the test "alphaLevel > 0". Quick fix: change this test
to "alphaLevel >= 0".

if (rampUp)
{
if (alphaLevel < 255)
{
alphaLevel = (int) (255 * (System.currentTimeMillis() - start) / rampDelay);
if (alphaLevel >= 255)
{
alphaLevel = 255;
inRamp = false;
}
}
} else if (alphaLevel > 0) {
alphaLevel = (int) (255 - (255 * (System.currentTimeMillis() -start) /
rampDelay));
if (alphaLevel <= 0)
{
alphaLevel = 0;
break;
}
}

try
{
Thread.sleep(inRamp ? 10 : (int) (1000 / fps));
} catch (InterruptedException ie) {
break;
}
Thread.yield();
}

I believe the reader is correct. However, the code he quotes is not actually in the book. I
suspect a different version of the code ended up in the download. We should update the download but
the book itself is fine.

Anonymous  Jun 2008
Printed Page 255
Run the Animator; Infinite loop bug in sample code for the InfiniteProgressPanel$Animator

if rampUp == false and alphaLevel == 0, the following code will never break itself out of the
animation loop as alphaLevel will always fail the test "alphaLevel > 0". Quick fix: change this test
to "alphaLevel >= 0".

if (rampUp)
{
if (alphaLevel < 255)
{
alphaLevel = (int) (255 * (System.currentTimeMillis() - start) / rampDelay);
if (alphaLevel >= 255)
{
alphaLevel = 255;
inRamp = false;
}
}
} else if (alphaLevel > 0) {
alphaLevel = (int) (255 - (255 * (System.currentTimeMillis() -start) /
rampDelay));
if (alphaLevel <= 0)
{
alphaLevel = 0;
break;
}
}

try
{
Thread.sleep(inRamp ? 10 : (int) (1000 / fps));
} catch (InterruptedException ie) {
break;
}
Thread.yield();
}

I believe the reader is correct. However, the code he quotes is not actually in the book. I
suspect a different version of the code ended up in the download. We should update the download but
the book itself is fine.

Anonymous 
Printed Page 258
2nd paragraph; common subclass should be common superclass

The reader is correct. It should be changed to 'common superclass'.

Anonymous  Jun 2008
Printed Page 258
2nd paragraph; class agnostic listener: define the term

Re-reading it, I'm coming to doubt the entire value of that sentence. I'd suggest we drop the
sentence "By constructing it with...".

Anonymous  Jun 2008
Other Digital Version 258
2nd paragraph; common subclass should be common superclass

The reader is correct. It should be changed to 'common superclass'.

Anonymous  Jun 2008
Other Digital Version 258
2nd paragraph; class agnostic listener: define the term

Dropped the sentence "By constructing it with...".

Anonymous  Jun 2008
Printed Page 258
2nd paragraph; common subclass should be common superclass

The reader is correct. It should be changed to 'common superclass'.

Anonymous 
Printed Page 258
2nd paragraph; class agnostic listener: define the term

Re-reading it, I'm coming to doubt the entire value of that sentence. I'd suggest we drop the
sentence "By constructing it with...".

Anonymous 
Printed Page 269
last paragraph, line 1

is handled
should be
are handled

Anonymous  Jun 2008
Other Digital Version 269
last paragraph, line 1

is handled
should be
are handled

Anonymous  Jun 2008
Printed Page 269
last paragraph, line 1

is handled
should be
are handled

Anonymous 
Printed Page 273
-1

trasnformations
->
transformations

########################################

Anonymous  Mar 2007
Printed Page 273
code sample; super.paint(g); } else { delete both lines

g and g2 both refer to the same object, so the code works with or without
this change. g2 is only needed in order to call Graphics2D methods on the object. I think the reader
is asking for a simple refactoring: since the if and else blocks both end with super.paint(g), the if
could end with the transform, the else could be eliminated, and you could then fall through to
super.paint(g). That's not really important, but it is cleaner, so let's change that part of example
7-6 from:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
super.paint(g);
} else {
super.paint(g);
}
}

to:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
}
super.paint(g);
}

Anonymous  Jun 2008
Other Digital Version 273
code sample; super.paint(g); } else { delete both lines

g and g2 both refer to the same object, so the code works with or without
this change. g2 is only needed in order to call Graphics2D methods on the object. I think the reader
is asking for a simple refactoring: since the if and else blocks both end with super.paint(g), the if
could end with the transform, the else could be eliminated, and you could then fall through to
super.paint(g). That's not really important, but it is cleaner, so let's change that part of example
7-6 from:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
super.paint(g);
} else {
super.paint(g);
}
}

to:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
}
super.paint(g);
}

Anonymous  Jun 2008
Printed Page 273
code sample; super.paint(g); } else { delete both lines

g and g2 both refer to the same object, so the code works with or without
this change. g2 is only needed in order to call Graphics2D methods on the object. I think the reader
is asking for a simple refactoring: since the if and else blocks both end with super.paint(g), the if
could end with the transform, the else could be eliminated, and you could then fall through to
super.paint(g). That's not really important, but it is cleaner, so let's change that part of example
7-6 from:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
super.paint(g);
} else {
super.paint(g);
}
}

to:

public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
AffineTransform flipTrans = new AffineTransform();
double widthD = (double) getWidth();
flipTrans.setToTranslation (widthD, 0);
flipTrans.scale (-1.0, 1);
g2.transform (flipTrans);
}
super.paint(g);
}

Anonymous 
Printed Page 280
2nd paragraph, line 6

and leave
should be
and leaves

Anonymous  Jun 2008
Other Digital Version 280
2nd paragraph, line 6

and leave
should be
and leaves

Anonymous  Jun 2008
Printed Page 280
2nd paragraph, line 6

and leave
should be
and leaves

Anonymous 
Printed Page 282
code sample; Hack 100 should be Hack 53

In example 7-8, should change:

JFrame frame = new JFrame("Hack 100: Anti-Aliased text");

to:

JFrame frame = new JFrame("Hack 53: Anti-Aliased text");

This change should be made in the source download too.

Anonymous  Jun 2008
Other Digital Version 282
code sample; Hack 100 should be Hack 53

In example 7-8, should change:

JFrame frame = new JFrame("Hack 100: Anti-Aliased text");

to:

JFrame frame = new JFrame("Hack 53: Anti-Aliased text");

Anonymous  Jun 2008
Printed Page 282
code sample; Hack 100 should be Hack 53

In example 7-8, should change:

JFrame frame = new JFrame("Hack 100: Anti-Aliased text");

to:

JFrame frame = new JFrame("Hack 53: Anti-Aliased text");

This change should be made in the source download too.

Anonymous 
Printed Page 286
2nd paragraph; first argument should be second argument

The wording is unclear. It should be 'and then call the main() entry point of the class passed
as the first argument after Wrapit.

Anonymous  Jun 2008
Other Digital Version 286
2nd paragraph; first argument should be second argument

The wording is unclear. It should be 'and then call the main() entry point of the class passed
as the first argument after Wrapit.

Anonymous  Jun 2008
Printed Page 286
2nd paragraph; first argument should be second argument

The wording is unclear. It should be 'and then call the main() entry point of the class passed
as the first argument after Wrapit.

Anonymous 
Printed Page 289
3rd paragraph

mangnified
should be
magnified

Anonymous  Jun 2008
Printed Page 289
last paragraph; multiplying the zoom factor by the should be dividing the magnifying

component's height and width by the zoom factor

The reader is correct. It should be changed

Anonymous  Jun 2008
Other Digital Version 289
3rd paragraph

mangnified
should be
magnified

Anonymous  Jun 2008
Other Digital Version 289
last paragraph

"Multiplying the zoom factor by the" should be "dividing the magnifying component's height and width by the zoom factor."

Anonymous  Jun 2008
Printed Page 289
3rd paragraph

mangnified
should be
magnified

Anonymous 
Printed Page 289
last paragraph; multiplying the zoom factor by the should be dividing the magnifying

component's height and width by the zoom factor

The reader is correct. It should be changed

Anonymous 
Printed Page 290
3rd paragraph, last line; translate() should be translatePoint()

The reader is correct. It's translatePoint() in example 8-1, so the only thing wrong here is
the text.

Anonymous  Jun 2008
Other Digital Version 290
3rd paragraph, last line; translate() should be translatePoint()

The reader is correct. It's translatePoint() in example 8-1, so the only thing wrong here is
the text.

Anonymous  Jun 2008
Printed Page 290
3rd paragraph, last line; translate() should be translatePoint()

The reader is correct. It's translatePoint() in example 8-1, so the only thing wrong here is
the text.

Anonymous 
Printed Page 297
last paragraph; The component still not clear -- change to: However, the component still

The reader is correct. It should be changed

Anonymous  Jun 2008
Other Digital Version 297
last paragraph; "The component still" is not clear -- change to: However, the component still

Anonymous  Jun 2008
Printed Page 297
last paragraph; The component still not clear -- change to: However, the component still

The reader is correct. It should be changed

Anonymous 
Printed Page 309
Hack #62; Vector-Based: explain what vector-based means

I'm pretty sure the audience will know what a Vector is, but if we need to clarify we should
modify the last sentence of the first paragraph like this:

'opening the door for a completely vector drawn (meaning with shapes instead of images) Swing Look
and Feel'

Anonymous  Jun 2008
Printed Page 309
last paragraph; due to a DPI change: explain when a DPI change occurs

Change to 'due to a change in screen resolution, for example'

Anonymous  Jun 2008
Other Digital Version 309
Hack #62; Vector-Based: explain what vector-based means

I'm pretty sure the audience will know what a Vector is, but if we need to clarify we should
modify the last sentence of the first paragraph like this:

'opening the door for a completely vector drawn (meaning with shapes instead of images) Swing Look
and Feel'

Anonymous  Jun 2008
Other Digital Version 309
last paragraph; due to a DPI change: explain when a DPI change occurs

Change to 'due to a change in screen resolution, for example'

Anonymous  Jun 2008
Printed Page 309
Hack #62; Vector-Based: explain what vector-based means

I'm pretty sure the audience will know what a Vector is, but if we need to clarify we should
modify the last sentence of the first paragraph like this:

'opening the door for a completely vector drawn (meaning with shapes instead of images) Swing Look
and Feel'

Anonymous 
Printed Page 309
last paragraph; due to a DPI change: explain when a DPI change occurs

Change to 'due to a change in screen resolution, for example'

Anonymous 
Printed Page 315
under Hacking the Hack; SVG define the abbreviation

"...would be to use SVG (Scalable Vector Grahpics) files instead of..."

Anonymous  Jun 2008
Other Digital Version 315
under Hacking the Hack; SVG define the abbreviation

"...would be to use SVG (Scalable Vector Graphics) files instead of..."

Anonymous  Jun 2008
Printed Page 315
under Hacking the Hack; SVG define the abbreviation

"...would be to use SVG (Scalable Vector Grahpics) files instead of..."

Anonymous 
Printed Page 319
1st paragraph; as a lightweight: as a heavyweight (?)

Changed "Indeed, as a lightweight component..." to "Indeed, as a heavyweight..."

Anonymous  Jun 2008
Other Digital Version 319
1st paragraph; as a lightweight: as a heavyweight (?)

Changed "Indeed, as a lightweight component..." to "Indeed, as a heavyweight..."

Anonymous  Jun 2008
Printed Page 319
1st paragraph; as a lightweight: as a heavyweight (?)

Changed "Indeed, as a lightweight component..." to "Indeed, as a heavyweight..."

Anonymous 
Printed Page 361
1st paragraph

with an applet
should be
with applets
(because of the "they")

Anonymous  Jun 2008
Other Digital Version 361
1st paragraph

with an applet
should be
with applets
(because of the "they")

Anonymous  Jun 2008
Printed Page 361
1st paragraph

with an applet
should be
with applets
(because of the "they")

Anonymous 
Printed Page 364
1st paragraph; AppletAudio should be AppletSound

"...and AppletAudio.class in their own..." has changed to "...and AppletSound.class in
their own..."

Anonymous  Jun 2008
Other Digital Version 364
1st paragraph; AppletAudio should be AppletSound

"...and AppletAudio.class in their own..." has changed to "...and AppletSound.class in
their own..."

Anonymous  Jun 2008
Printed Page 364
1st paragraph; AppletAudio should be AppletSound

"...and AppletAudio.class in their own..." has changed to "...and AppletSound.class in
their own..."

Anonymous 
Printed Page 367
last paragraph; description: descriptor (as in the next line)

Changed "pass around description objects" to "pass around descriptor objects"

Anonymous  Jun 2008
Other Digital Version 367
last paragraph; description: descriptor (as in the next line)

Changed "pass around description objects" to "pass around descriptor objects"

Anonymous  Jun 2008
Printed Page 367
last paragraph; description: descriptor (as in the next line)

Changed "pass around description objects" to "pass around descriptor objects"

Anonymous 
Printed Page 380
first code example

NOTE: On some JVMs, the default AudioInputStream will not support moving backwards and
forwards in the stream, so the call to reset() in the downloadable example will fail
with "mark/reset not supported". You can prevent this by ensuring the reset-ability
of your stream, which you do by creating the AudioInputStream from a
BufferedInputStream you set up.

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
->
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new
BufferedInputStream (new FileInputStream (file)));

########################################

Anonymous  Mar 2007
Printed Page 447
2nd code sample; loop through 100 times: delete

The reader is correct. It should be changed

Anonymous  Jun 2008
Other Digital Version 447
2nd code sample

Delete "loop through 100 times"

Anonymous  Jun 2008
Printed Page 447
2nd code sample; loop through 100 times: delete

The reader is correct. It should be changed

Anonymous 
Printed Page 451
1st code block; move the mouse over 10 steps: delete

The reader is correct. It should be changed

Anonymous  Jun 2008
Other Digital Version 451
1st code block

Delete "move the mouse over 10 steps"

Anonymous  Jun 2008
Printed Page 451
1st code block; move the mouse over 10 steps: delete

The reader is correct. It should be changed

Anonymous 
Printed Page 463
1st code block; (Runnable): delete. The cast is unnecessary

The reader is correct.

Changed:

loaderThread = new Thread ((Runnable) this);

to:

loaderThread = new Thread (this);

Anonymous  Jun 2008
Other Digital Version 463
1st code block; (Runnable): delete. The cast is unnecessary

The reader is correct.

Changed:

loaderThread = new Thread ((Runnable) this);

to:

loaderThread = new Thread (this);

Anonymous  Jun 2008
Printed Page 463
1st code block; (Runnable): delete. The cast is unnecessary

The reader is correct.

Changed:

loaderThread = new Thread ((Runnable) this);

to:

loaderThread = new Thread (this);

Anonymous 
Printed Page 465
2nd paragraph; doRun: loadURL

Changed "In the doRun() implementation" to "In the loadURL() implementation"

Anonymous  Jun 2008
Other Digital Version 465
2nd paragraph; doRun: loadURL

Changed "In the doRun() implementation" to "In the loadURL() implementation"

Anonymous  Jun 2008
Printed Page 465
2nd paragraph; doRun: loadURL

Changed "In the doRun() implementation" to "In the loadURL() implementation"

Anonymous 
Printed Page 489
1st line; Explain why the ACTION_EVENT.MASK

Add this sentence at the end of the paragraph. 'This is to include both action and mouse
events'

Anonymous  Jun 2008
Other Digital Version 489
1st line; Explain why the ACTION_EVENT.MASK

Add this sentence at the end of the paragraph. 'This is to include both action and mouse
events'

Anonymous  Jun 2008
Printed Page 489
1st line; Explain why the ACTION_EVENT.MASK

Add this sentence at the end of the paragraph. 'This is to include both action and mouse
events'

Anonymous 
Printed Page 493
last paragraph; imbedded: embedded

The reader is correct. It should be changed.

Anonymous  Jun 2008
Other Digital Version 493
last paragraph

Change imbedded to embedded

Anonymous  Jun 2008
Printed Page 493
last paragraph; imbedded: embedded

The reader is correct. It should be changed.

Anonymous 


"Applying any of the tricks in this book will spice up your applications and make them stand out among the crowd."
--Songmuh Jong, KickStartNews.com