This chapter lists high-visibility bugs that have been addressed in this release. It is not a complete listing of all of the bugs addressed. If you still have issues with any of these bugs, please file a new bug at http://bugreport.apple.com/ under the Java (new bugs)
component, version X
. Refer to the bug number indicated below in your new bug if you believe it is the same issue.
Java Applets
Java Aqua Look and Feel
Java AWT
Java Events
Java Libraries
Java Networking
Java Printing
Java Swing
Java SWT Support
Java Text
Java Virtual Machine
Java Web Start
Other Resolved Issues
LiveConnect and Dialogs
Attempting to show a dialog, like a FileDialog
, using LiveConnect caused a deadlock that could hang the host application.
Showing a dialog via LiveConnect no longer causes a deadlock.
JProgressBar Prevents Application Exit
The animation timer used in painting the Aqua progress bar did not stop when the progress bar was hidden. This could prevent the component from disposing.
The animation timer is now halted, allowing for proper component disposal.
MouseInfo.getNumberOfButtons() Return Values
The method MouseInfo.getNumberOfButtons()
always returned a value of 0
, regardless of the number of buttons on the mouse attached to the system.
The correct number of mouse buttons are now returned. If no mouse is attached, -1 is returned.
Headless Applications and AWT
In a headless application, trying to use any AWT class caused a debugging message to be printed, halting the application while waiting for user input.
The debugging message no longer appears, allowing the application to continue executing.
Pasteboard Keyboard Shortcuts and Swing Applets
Swing applets weren't receiving copy, cut, and paste events that were the result of a keyboard shortcut (Command-C, Command-X, and Command-V, respectively).
The keyboard shortcuts for Pasteboard operations now function as expected. Note that Swing applets have their own pasteboards that are not shared with the system's general pasteboard.
Window Memory Leak
Some Window and Window subclass objects leaked memory.
Disposed Windows no longer leak memory.
Robot.createScreenCapture Crash
Calling Robot.createScreenCapture()
with invalid bounds (larger than the actual display) caused the application to crash or the return a corrupted image.
The application no longer crashes. Values outside of the display are black in the returned image.
Nested Modal Dialogs
Nested modal dialogs don't behave properly if they all use a common parent. For instance, a focused Dialog
may end up behind an unfocused Dialog
.
Nested modal Dialogs
maintain their ordering.
Graphical Java applications and Case-sensitive Filesystems
On case-sensitive filesystems, like UFS, Java applications that try to show a user interface failed to launch.
Graphical Java applications launch normally on all filesystems.
Malformed MouseEvents
When the Command key is held down, a MouseEvent
sometimes had an incorrect source Component. When the Command key was held down, a MouseEvent
sometimes reported that the third mouse button was down when it was not. When the Command key was held down, MOUSE_CLICKED
events were not delivered to unfocused Components. When the Shift key was held down, a MouseEvent
sometimes reported that the first mouse button was down when it was not.
MouseEvents
are no longer malformed when Command or Shift are held down.
Robot Mouse Events
Because Robot was set to take precedence over genuine user events, posting a mousePress
without later posting a mouseRelease
caused the entire user interface to stop responding to mouse clicks.
Robot events no longer take precedence over genuine user events.
Custom DataFlavors Across Separate Virtual Machines
If a Java process defined a custom DataFlavor
, other Java processes could not read data stored within that DataFlavor.
A custom DataFlavor
is now read properly by the general system clipboard.
Images on the System Pasteboard
When an image was copied to the general system pasteboard, the image was corrupted.
The image is no longer corrupted.
JMX and jconsole Fixes
The management.properties
file wasn't available on J2SE 5.0 Release 1, disabling JMX features.
The management.properties
file is available with this release. To work with JMX, jconsole
has been updated to connect correctly to the virtual machine.
Compile Failure with .zip or .jar File Extensions
If the classpath had entries that pointed to files without .zip
or .jar
extensions, javac
issued a warning about the file and refused to compile the executable. This bug is found in Sun's bug database as Bug ID 6295519.
javac
ignores invalid files with .zip
and .jar
extensions.
Reopening Files with java.io.RandomAccessFile
When a file was created with rw
permissions and then shortly thereafter a new RandomAccessFile
object was instantiated for the same file in rws
mode, a FileNotFoundException (File Exists)
exception is thrown.
RandomAccessFile
no longer throws an exception in this case.
Reusing Addresses with DatagramChannels
Calling setReuseAddress()
on a DatagramChannel
did not have any effect.
Calling setReuseAddress()
now reuses the address.
Using Multiple Printers
Print jobs were often printed to the default printer instead of the selected printer.
A targeted printer prints the document, as expected.
Swapping Menu Bars Within the Screen Menu Bar
When an application used the screen menu bar and swapped between multiple menu bars via setJMenuBar
, duplicate menus were shown.
Duplicate menus are no longer shown.
SWT Applications Using AWT Classes
Using an AWT class within a SWT application is normally not possible, due to issues with threading during the startup of the AWT. One workaround was to set the -Djava.awt.headless
flag equal to true
at runtime.
AWT startup detects the existence of the SWT and sets up AWT in headless mode automatically. Using the -Djava.awt.headless
is no longer necessary.
Distorted Text Layout Bound Values
The bounds returned by java.awt.font.TextLayout.getBounds()
were inaccurate.
Returned values are more accurate.
Incorrect FontMetrics in a Scaled Graphics2D Object
When a Graphics2D
object was scaled using its scale
method, the text dimensions as reported by a FontMetrics
object were incorrect.
The reported text dimensions are now correct.
Transformed Strings
Scaled or rotated strings were drawn with incorrect spacing between the letters, doubly transformed glyphs, or glyphs scaled non-proportionally.
Scaled and rotated strings now draw correctly.
Display Issues after Character Set Change
Changing the input source character set wasn't immediately respected by input fields.
Input source character set changes take effect immediately.
JVM Stat Tools
The jvmstat tools were not available with J2SE 5.0 Release 1.
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jps
Prints the process ID (<pid>
) for all active Java processes
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jinfo -flags <pid>
Prints the VM flags for the specified process
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jinfo -sysprops <pid>
Prints the Java System properties for the specified process
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jmap -heap <pid>
Prints the Java Heap summary for the specified process
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jmap -heap:format=b <pid>
Prints the Java Heap for the specified process in the hprof binary format to a file
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jmap -histo <pid>
Prints a histogram of Java object heap for the specified process
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jmap -permstat <pid>
Prints classloader-wise permanent generation statistics for the process
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/jstack <pid>
Prints the Java stack dump
For more information go to:
Ignored Descriptor Elements
Java Cache Viewer didn't support JNLP documents that had an "association" element in their "information" descriptor. The application worked as desired, but any declared associations were not registered with Launch Services when the user created a desktop application.
An application's "association" element is registered properly.
Saving Web Start Applications as Local Applications
Launching a local JNLP application after it was modified caused the Save dialog to appear again.
Updated applications no longer need to be saved again.
Creating Local Applications with Java Cache Viewer
Java Cache Viewer created local applications that always tried to launch in Java 1.3.1 or would not launch at all.
Java Cache Viewer creates correctly formed desktop applications
Table 2-1 lists numerous issues present in previous versions of Java for Mac OS X that are resolved in J2SE 5.0 Release 3.
Radar Number | Description |
---|---|
4162239 | Host application hung while loading applet |
4197144 | Host application crashed when resizing during applet load |
4275445 | Host application hung when resizing or zooming a window during applet load |
4295651 | Host application crashed while reloading applets |
3993081 | Command key and mouse event incorrectly deselected the current combo box |
4164430 | Variable |
4165961 | Extraneous Open button used in |
4176694 | Navigating a |
4202729 | Visual delineation between words in locales such as Japanese were missing |
4251968 | Null Pointer Exception in |
4273831 | Minimizing internal frames threw an exception |
3132190 | Components were painted twice when first shown |
3155258 | AWT Scrollbars didn't draw properly when resized or moved |
4127577 | Popup menus appeared on different monitors than their associated controls |
3310174 |
|
3748153 | Scrollwheels could not be used within popup menus |
4073021 | Forward-delete performed a standard delete |
4120464 | Crash when |
4127790 | Fonts for AWT Components were wrong |
4245892 | Jar files packed using pack200 were corrupt |
4129065 | Windows flickered when adding a heavyweight component to a Container |
4133696 | Calling |
4156683 | Validating a container was slow |
4156692 | Applet background changes a host window's background |
4166324 | String leak when using Input Methods |
4170826 | Systems colors returned from the |
4172490 | Showing a Dialog with a minimized parent caused a "phantom" window to appear |
4176931 | Live Resize could cause a deadlock |
3618611 | An image with a negative width or height was not reversed |
4160173 |
|
4181693 | AWT Lists were unresponsive |
4274285 |
|
4184499 |
|
4185651 | Applications crashed when dismissing |
4187162 | Submenus were not accessible from a modal dialog |
4197676 | Menus displayed at the wrong vertical position when using multiple monitors |
4217124 |
|
4304193 |
|
4137834 |
|
3843735 | Shift-backspace wasn't treated like backspace for Swing Text controls |
4156798 | Tablets generated unwanted console messages |
4161644 | When Shift key was held down, |
4224122 | Enter didn't insert a carriage return when typing in Korean |
3955254 | Some menu accelerator keys were processed as |
3824226 | Applets could draw outside their bounds |
4151808 | Images of |
4156466 | Graphics didn't update properly in applet subwindows |
4160169 | xRGB images were not displayed correctly |
4161593 | Textures weren't printed properly |
4097397 | The virtual machine didn't allow the "MB" stack memory size modifier |
4106727 | Applications crashed during garbage collection |
4190619 | The Java virtual machine didn't warn when Train garbage collector was requested |
4255144 | Better compatibility with profiling utilities |
4096926 | The |
4160100 | The |
4164912 | Memory leak when printing |
4203055 | Window ordering problems with combo boxes and |
4107761 | Applications crashed on launch when Courier or Times fonts were missing |
4260764 | Applications crashed if Helvetica was missing |
4132856 | Scaled fonts using integer metrics exhibited an odd spacing between characters |
4270646 | Certificate Trust dialog defaulted to "Yes" |
4158179 | Desktop applications could not be created from a launched JNLP file |
4085734 | Java Cache Viewer was missing a "Help" menu |
© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-01-10)