This page reports the status of all bugs in the ACM Java Libraries that
have been reported to the Java Task Force. To report a new bug,
please send mail to
jtf@cs.stanford.edu.
Bugs are listed chronologically in order of the date on which they were
reported.
Clicking on the triangle to the left of the bug entry displays the
details.
- JTFBug 2006-001:
Incorrect handling of mouse events
[Fixed]
-
Reported by:
Chris Nevison on 26-Jul-06
Fixed by:
Eric Roberts on 31-Jul-06
Affected modules:
GCanvas, GCompound
Description:
This bug appeared in code designed to streamline the handling of
mouse events. As an efficiency enhancement, the implementation
maintains a list of items for which mouse listeners have been
enabled. That list, however, was not being properly maintained,
which meant that mouse events were sometimes lost.
- JTFBug 2006-002:
Precompiled images were not being cached
[Fixed]
-
Fixed by:
Eric Roberts on 30-Sep-06
Affected modules:
MediaTools
Description:
Unlike images read from files, precompiled images generated using the
MediaTools facility were not being cached when the
setCachingEnabled flag was set to true.
Students were unlikely to be affected by this bug, because caching
is disabled by default.
- JTFBug 2006-003:
setImage did not reset image size
[Fixed]
-
Fixed by:
Eric Roberts on 21-Dec-06
Affected modules:
GImage
Description:
The implementation of the GImage class continued to believe
the old size information for an image, even after setImage
was used to reset the size. The revised code invalidates the cached
size on any call to setImage and then repaints the canvas.
- JTFBug 2007-001:
decodeFont failed to copy existing properties
[Fixed]
-
Fixed by:
Eric Roberts on 2-Jan-07
Affected modules:
JTFTools
Description:
According to its documentation, the decodeFont method in
JTFTools was supposed to retain any properties of the
existing font that were not specified in the font string. The original
implementation failed to do so in many cases, but the code was easy to
fix.
- JTFBug 2007-002:
Programs failed to work in a headless environment
[Fixed]
-
Reported by:
Leland Beck on 10-Jan-07
Fixed by:
Eric Roberts on 30-Jan-07
Affected modules:
Program
Description:
The Program class is a subclass of JApplet
and can therefore operate only in a Java environment with a graphics
context. Java programs that use the command line, however, often do
not have access to Javas AWT (such programs are called
headless in Java). To allow students to run simple programs
in a headless environment, the startup code for the Program
class now checks to see if the program is operating in such an
environment and, if so, substitutes an equivalent
CommandLineProgram, which does not require a graphics
environment.
- JTFBug 2007-004:
Formatting problems in numeric fields
[Fixed]
-
Fixed by:
Eric Roberts on 2-Mar-07
Affected modules:
DoubleField, IntField
Description:
The original code for the DoubleField and
IntField classes failed to ensure that the
values would fit in the available space, which meant that
the displayed value was sometimes clipped by the boundaries
of the input field.
- JTFBug 2007-005:
Cross-file references caused compilation errors
[Fixed]
-
Reported by:
Leland Beck on 10-Apr-07
Fixed by:
Eric Roberts on 26-Apr-07
Affected modules:
GArc, GCompound, GOval,
GRoundRect, GTurtle, GPen
Description:
The standard javac tool was unable to compile some
applications because it could not determine that particular
package-private classes were required. The problem arose only
when the application was compiled from library sources and did
not occur when compiling with the acm.jar file.
- JTFBug 2007-006:
Localization not performed for numeric fields
[Fixed]
-
Fixed by:
Eric Roberts on 6-May-07
Affected modules:
DoubleField, IntField
Description:
The original code for the DoubleField and
IntField classes did not pay attention to
the current locale and therefore could not interpret or
display numbers in many countries.
- JTFBug 2007-007:
JDK 1.6 introduced incompatibilities with the Program class
[Fixed]
-
Fixed by:
Eric Roberts on 8-May-07
Affected modules:
Program
Description:
The release of JDK 1.6 (now called Java 6) created a serious
incompatibility in the implementation of the Program
class, which made it impossible to embed the actual JApplet
object in the program frame. The current implementation transfers
the content pane into the program frame instead.
- JTFBug 2007-008:
The Print Console menu item failed
under JDK 1.6
[Fixed]
-
Fixed by:
Eric Roberts on 8-May-07
Affected modules:
IOConsole
Description:
The release of JDK 1.6 (now called Java 6) changed the model for
printing so that the Print Console
menu item in the File menu no longer worked correctly.
The code was rewritten so that it was compatible with the new model.
- JTFBug 2007-009:
Rendered arcs were improperly synchronized
[Fixed]
-
Fixed by:
Eric Roberts on 28-May-07
Affected modules:
GArc
Description:
The code for the package-private ArcRenderer class did
not correctly synchronize the rendering operation because of misplaced
synchronize statements. The bug was uncovered in a code
review, and it is not clear whether it actually caused problems in
practice.
- JTFBug 2007-010:
Centering of the GPolygon class was incorrect
[Fixed]
-
Reported by:
Steve Wolfman on 10-Jun-07
Fixed by:
Eric Roberts on 6-Jul-07
Affected modules:
GPolygon
Description:
The code for recentering a GPolygon incorrectly calculated
the new center because the calculation used an x coordinate
value that should have been the corresponding y coordinate.
- JTFBug 2007-011:
Incorrect javadoc for the trig functions in
GMath
[Fixed]
-
Reported by:
William Slough on 15-Aug-07
Fixed by:
Eric Roberts on 15-Aug-07
Affected modules:
GMath
Description:
The javadoc comments for the trigonometric functions
sinDegrees, cosDegrees, and
tanDegrees all indicated that the function calculated
the sine of the angle instead of the appropriate function.
- JTFBug 2007-012:
Potential deadlock in applet thread handling
[Fixed]
-
Fixed by:
Eric Roberts on 10-Sep-07
Affected modules:
Program
Description:
A change to the security manager handling of applet threads introduced
in JDK 1.6 (now Java 6) introduced a potential deadlock in the creation
of the thread used for the run method.
- JTFBug 2007-013:
Change listeners were incorrectly handled in Animator
[Fixed]
-
Fixed by:
Eric Roberts on 12-Sep-07
Affected modules:
Animator
Description:
The implementation of the ChangeListener handler contained
a bug that kept it from working correctly. This code, fortunately, was
not used much by clients and was therefore unlikely to be noticed.
- JTFBug 2008-001:
TableLayout sometimes incorrectly computed cell dimensions
[Fixed]
-
Fixed by:
Eric Roberts on 8-Jan-08
Affected modules:
TableLayout
Description:
The implementation of TableLayout did not correctly take
into account the gridwidth and gridheight
options when computing cell dimensions.
- JTFBug 2008-002:
isAppletMode returned wrong answer during startup
[Fixed]
-
Fixed by:
Eric Roberts on 21-May-08
Affected modules:
Program
Description:
The isAppletMode method in the Program
class returned the wrong answer if it was called from the constructor.
The implementation now determines whether the code is in a browser by
examining the call stack, which gives the correct answer even before
the initialization code is complete.
- JTFBug 2008-003:
Ambiguous overrides of getWidth and
getHeight
[Fixed]
-
Fixed by:
Eric Roberts on 10-Jun-08
Affected modules:
Program
Description:
The original implementation of the Program class overrode
the definitions of getWidth and getHeight
so that they returned the dimensions of the central region rather
than the program frame as a whole. While this interpretation
made it easier for students to write graphics code, it depended
on the fact that the implementation of the Swing library did not
itself call these methods. That assumption was true in Java 5
but not in Java 6. To avoid requiring changes to existing student
code, the implementation now checks to see whether these methods
have been called from inside the java and
javax package hierarchy and, if so, restores
their traditional semantics.
Version 2.0September 20, 2008
Last modified on Fri Sep 19 11:56:40 2008 by eroberts