Known and Resolved Issues

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

Radar #5844539

Firefox fails to launch applets with J2SE 1.4.2.

Description:

When J2SE 1.4.2 is selected as the preferred Java version for applets in Java Preferences, Firefox fails to launch applets. This is the result of the Firefox Java Embedding Plugin reading from a preferences file no longer in use to determine the preferred Java version.

Resolution:

Applets will now load in Firefox when J2SE 1.4.2 is selected as the preferred version of Java for applets in Java Preferences.

Radar #6070280

Calling java.nio.Selector.open() from an applet failed.

Description:

Applets using NIO Selectors on sockets failed from an AccessControlException.

Resolution:

Selectors now function correctly within Applet classloaders.

Java Application Support

Radar #5787297

Preferred Java VMs are reset after installing Java for OS X v10.5 Update 2.

Description:

The preferred order of Java VMs for launching Java applications is reset after installing Java for OS X v10.5 Update 2. This information is now stored in ~/Library/Preferences.

Workaround:

Open /Applications/Utilities/Java/Java Preferences.app and change the preferred JVM order.

Java Aqua LAF

Radar #4417784

JOptionPane borders are smaller than the Aqua HIG specifies.

Description:

When using the apple.laf.AquaLookAndFeel, JOptionPane borders are noticeably narrower than those for Cocoa dialogs.

Resolution:

JOptionPane borders are now similar to the borders in Cocoa dialogs.

Radar #5683832

There is no way to obtain a title-less OS X style group border.

Description:

OS X style titled borders can be obtained using UIManager.getBorder("TitledBorder.aquaVariant"), however there was no way to obtain an OS X style title-less border.

Resolution:

Title-less OS X style group borders can now be obtained with UIManager.getBorder("InsetBorder.aquaVariant"). This functionality already existed in Java SE 6 but is new to J2SE 5.0.

Radar #5686535

There is no way to access the color of the focus ring from Java.

Description:

While the light and dark selection colors are available from the UIManager, there is no way to obtain the color of the focus ring from a Java application.

Resolution:

The focus ring color can now be obtained using UIManager.getColor("Focus.color"). This functionality already existed in Java SE 6 but is new to J2SE 5.0.

Radar #5718490

JOptionPane uses wrong application icon.

Description:

JOptionPane renders the application icon for the application currently in the foreground rather than the application invoking the JOptionPane.

Resolution:

JOptionPane now uses the application icon for its own application.

Radar #6219608

Preferred JButton size changed from Leopard GM

Description:

The preferred JButton insets changed from Leopard GM when the button is compressed smaller than its preferred size, causing truncated text even if there is enough horizontal space available to show the requested text.

Workaround:

Use the JButton.putClientProperty("JButton.buttonType", "square") button type to explicitly create a small style button with proper insets.

Java AWT

Radar #5570709

Java application windows don't work with Spaces.

Description:

Switching to a different space and then using Command-Tab to return to a Java application in another space did not switch to that application's space. Menus appeared, but no windows were visible.

Resolution:

Java windows now correctly interact with Spaces in both J2SE 5.0 and Java SE 6.

Radar #5648142

Dropping or pasting image data into a Java application fails.

Description:

In certain circumstances, pasting image data into a Java application from the clipboard, or from a drag, could fail due to a native exception.

Resolution:

Pasting and dragging image data into Java applications now works correctly.

Radar #5727187

Using a java.awt.FileDialog could prevent an application from exiting normally.

Description:

Using a java.awt.FileDialog could prevent an application from exiting normally after all windows were closed. The application would need to explicitly call System.exit().

Resolution:

FileDialogs no longer prevent normal AWT event queue application shutdown.

Radar #5755208

Command line Java applications need a way to launch without a Dock icon.

Description:

Command line deployed Java applications do not have a way to hide their Dock icon like bundled application can, by setting "LSUIElement" to true in their Info.plist.

Resolution:

The "apple.awt.UIElement" system property can now be set to true prior to instantiating the AWT to suppress the application Dock icon and menu bar. This functionality already existed in Java SE 6 but is new to J2SE 5.0.

Radar #5782723

JTextField does not respect KeyEvent.consume().

Description:

Certain CTRL-key combinations were not getting properly trapped by the JTextField Aqua delegate class, and attempting to block the key event using KeyEvent.consume() did not work.

Resolution:

KeyEvents are now properly masked by the DefaultKeyTypedAction as defined by Sun.

Radar #5804812

SystemColor.shadowColor used the keyboard focus indicator color

Description:

The java.awt.SystemColor.shadowColor changed from a grey to aqua or graphite in Leopard.

Resolution:

SystemColor.shadowColor is now (correctly) a dark grey color.

Radar #5886384

Java command line tools could hang if provided unrecognized options.

Description:

Java command line tools ("java", "javac", "jps", and so on) could hang if they were provided with unrecognized VM options.

Resolution:

Java command line tools now fail immediately if they are provided with unrecognized VM options.

Radar #5989757

The Window.shadow property is ignored.

Description:

TN2196 describes the use of the Window.shadow property which has no effect when set or changed.

Resolution:

The Window.shadow property now behaves as documented.

Java Engine

Radar #5414437

Passing -d32 or -d64 to J2SE 1.4.2 fails.

Description:

J2SE 1.4.2 did not recognize the architecture options (-d32 and -d64).

Resolution:

J2SE 1.4.2 now recognizes these options and ignores -d64.

Java HotSpot

Radar #6070267

The jstack command does not work with Java SE 6 processes.

Description:

Previously, running jstack on a Java SE 6 process would fail with a RuntimeException.

Resolution:

Jstack now works correctly with Java SE 6.

Java JavaLib

Radar #5580914

Java applications that specify the "-XstartOnFirstThread" option does not have a context class loader set correctly.

Description:

If an application specifies the "-XstartOnFirstThread" option, the main thread does not have its context class loader set.

Resolution:

The class loader is set correctly for all applications that specify the "-XstartOnFirstThread" option.

Radar #5919135

The Java SE 6 wsgen command throws NullPointerException.

Description:

The wsgen command throws a java.lang.NullPointerException attempting to obtain an internal classloader.

Resolution:

The wsgen command works as expected.

Java JDK

Radar #5940722

Java applet settings have been removed from Java Preferences.

Description:

It is not possible to alter runtime parameters passed to Java applets.

Workaround:

Java applet runtime settings can be set directly in ~/Library/Caches/Java/deployment.properties.

Java Printing

Radar #5871542

javax.print based printing fails if the printer name contains spaces or non-ascii characters.

Description:

Print jobs printing postscript data though the javax.print API funnels the job through LPR, which does not understand the human readable name of the printer.

Resolution:

The javax.print implementation now correctly passes the CUPS printer identifier to LPR.

Java Sound

Radar #5759566

Sound playback can stutter in Java applications.

Description:

Under certain circumstances using the SourceDataLine.write() API, audio playback can become stuttered or choppy if the CPU is under load.

Java Swing

Radar #5809838

Cannot input text into text fields using various input methods.

Description:

Java was not correctly configured to interface with several input methods available on OS X Leopard.

Resolution:

Text can now be entered into text fields using Simplified and Traditional Chinese, as well as Vietnamese Input Methods.

Java Toolkit

Radar #5420927

There is no way to set a custom Dock icon or menu from Java.

Description:

There has been no way to set a custom Dock icon, set a Dock icon badge, or add a custom popup menu to a Java application's Dock icon.

Resolution:

New API has been added to the com.apple.eawt.Application object to support setting and getting the Dock icon image, setting a custom red badge on the icon (like Mail's unread count), and setting and getting a custom popup menu that is prepended to the standard Dock menu items. This functionality already existed in Java SE 6 but is new to J2SE 5.0.

Radar #5680303

Cannot reference a Java application's bundle from Java.

Description:

Currently, Java applications need native code to get the path to their application bundle.

Resolution:

com.apple.eio.FileManager.getPathToApplicationBundle() now returns the full path to the application. This is the equivalent of calling "[[NSBundle mainBundle] bundlePath]" from Objective-C. This functionality already existed in Java SE 6 but is new to J2SE 5.0.

Java Web Start

Radar #5900415

Web Start applications fail to recognize a valid certificate.

Description:

JNLP files that specify J2SE 1.4.2 failed to launch due to an error validating certificates.

Resolution:

JNLP files that specify J2SE 1.4.2 now launch correctly.

Radar #5901285

Web Start applications are not launched using the JVM specified in Java Preferences.

Description:

Java Web Start applications are not launched using a compatible JVM version or architecture as specified in the Java Preferences application.

Resolution:

Java Preferences are now honored when choosing a compatible JVM to launch a Web Start application.

Radar #5903263

Under certain conditions, the apple.awt.useScreenMenuBar property would not be honored in Web Start applications.

Description:

If a JNLP-based application was launched, and did not require Java Web Start to re-execute in another JVM version or architecture, the apple.awt.useScreenMenuBar property would not be properly initialized for that application, and it's menu bars would show up inside their windows.

Resolution:

The useScreenMenuBar property is now read much later in the application's initialization, and is now properly set.

Radar #6195034

The JVM architecture preference is not honored if the JNLP encoding is "utf-8"

Description:

A Web Start application will launch in 32-bit, even if Java Preferences prefers a 64-bit JVM if the JNLP file has a "utf-8" encoding.

Workaround:

Specifying the "arch=x86_64" option in the resources section of your JNLP file will force Web Start to run in 64-bit mode. Alternately, the JNLP encoding can be set to "macintosh".

LaunchServices

Radar #6220719

Input Method Hotkey does not launch.

Description:

Launching /Applications/Utilities/Java/Input Method Hotkey.app results in a dialog that indicates the application is not supported on the system's architecture.

Workaround:

From the command line, "touch /Applications/Utilities/Java/Input\ Method\ Hotkey.app", or use the Finder to "Show Package Contents" for the Input Method Hotkey.app bundle and run the Contents/MacOS/Input Method Hotkey executable directly.

NSWindow

Radar #5900153

Unified textured window style does not render correctly in 64-bit.

Description:

Setting getRootPane().putClientProperty("apple.awt.brushMetalLook", Boolean.TRUE) does not match the title bar in the manner expected for textured windows in OS X v10.5 Leopard. This issue affects Java SE 6, J2SE 5.0 in 64-bit mode, and all 64-bit processes.