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 Graphics
Java Libraries
Java Printing
Java Security
Java Swing
Java SWT Support
Java Text
Java Virtual Machine
Java Web Start
Other Resolved Issues
Java Preferences didn't save applet parameters
If the deployment.properties
file didn't exist in ~/Library/Caches/Java/
prior to running Java Preferences, virtual machine parameters were not be saved until Java Preferences.app was used again.
The deployment.properties
file is now properly created and saved.
All certificates treated as self-signed
The Java plug-in treated all certificates used with JAR files or HTTPS connections as self-signed certificates. This left the incorrect impression that the certificate was not issued by a trusted authority, advising the user to take additional caution.
The Java plug-in now correctly reads the system-wide trusted X.509 anchor certificates and displays certificates correctly.
JFileChooser deadlock
Showing a JFileChooser
from a non-event dispatch thread caused a deadlock.
When a JFileChooser
is called from a non-event dispatch thread, the call is redirected to the proper thread.
Note: Calling a JFileChooser
from a non-event dispatch thread is thread unsafe and is advised against by Sun guidelines. This circumstance is taken into account in J2SE Release 4 since it is very common. Despite this, it is recommended that you originate calls to a JFileChooser
on an event dispatch thread.
Custom cursors causing exceptions
Attempting to use a custom cursor created using Toolkit.createCustomCursor
with a NULL
name triggered an exception.
Cursors with a NULL
name work as expected.
AWT Choice control
When focus was on an AWT Choice control, pressing the space bar or down arrow key didn't show its popup menu.
An AWT Choice control now displays its popup menu when the space bar or down arrow key is pressed.
Focus between AWT and Swing controls
Tabbing between AWT and Swing controls in the same window caused focus to stick on some controls.
Focus shifts properly between peer AWT and Swing elements.
Applet dialog appearance
Dialogs appeared in Apple's textured style, regardless of the apple.awt.UseBrushMetal
setting.
By default, dialogs appear using the Aqua Look and Feel.
Help menu issues
Modifying a Help menu with setHelpMenu
would hide another menu from the Menu Bar.
Modifying help menus no longer causes other menus to disappear.
Key binding conflicts
Key bindings for items in the Services menu weren't passed to Java applications after an item from the Application menu was chosen.
Key bindings for disabled items in the Services menu are always passed to Java applications. Bindings for enabled items may still conflict.
Sun 2D Renderer support
Previous releases of Java on Mac OS X only offered 2D rendering support using Apple's Quartz technology.
J2SE 5.0 Release 4 features support for Sun's 2D renderer. By default, the Quartz renderer is used for 2D rendering. You can use the Sun 2D renderer by setting the apple.awt.graphics.UseQuartz
runtime option to false
.
Graphics corruption during live resize
Overriding the update()
method and not calling super.update()
in a heavyweight component may have resulted in a blank window during a live resize.
All components redraw correctly during a live resize.
Window disposal crash
Disposing a window while it's being drawn to caused a crash.
An application no longer crashes if it disposes a window while it's being drawn to.
Applications that depend on org.apache packages
Sun moved the org.apache
package in J2SE 5.0. Various applications depend on the org.apache package and therefore break when run under J2SE 5.0.
J2SE 5.0 Release 4 includes the org.apache
package to provide increased backward compatibility. The compatibility classes are appended to the end of the CLASSPATH
so newer versions of the org.apache
XML classes can be used.
Note: Applications should not depend on this functionality's presence in future releases of Java on Mac OS X.
Runtime.exec and accented characters
If the name of the executable or its path had accented characters, Runtime.exec
failed to execute it.
Runtime.exec
handles paths and executable names that contain accented characters.
Page orientation not selectable
There was no way to select the page orientation when using Toolkit.defaultToolkit().getPrintJob()
.
The Page Setup dialog appears after selecting Print from the Print dialog.
Printing attributes ignored
When using JTable.print()
or the javax.print
dialog, set job attributes were not passed to PrinterJob
.
Job attributes (like copies and orientation) are now properly set.
Wrong dialog when printing to file
When selecting Print to File from the javax.print
dialog, an Open file dialog was shown.
Selecting Print to File displays a Save dialog.
Shared printers unsupported
Attempting to print to a shared printer redirected the print job to the default printer.
Print jobs sent to printers shared through other computers print on the shared printer.
Restrictions on cryptographic operations
It was necessary to install Sun's unlimited strength jurisdiction policy files if there was a need for cryptographically strong certificates or algorithms.
Sun's unlimited strength jurisdiction policy files are now pre-installed.
KeychainStore and private keys
KeychainStore
could not read or write the Key
portion of private keys stored in the user's keychain.
KeychainStore
can read private keys and certificate chains that make up an identity from Keychain. Also, PKCS#12-formatted identities can be stored and retrieved from Keychain.
Certificate trust alert clarification
The certificate trust alert was unclear that running the signed code granted the issuing application or applet unlimited access to the user's machine.
The certificate trust alert has been reworded to emphasize the consequences of clicking Trust. If your documentation used a screen shot of this alert, you should update it.
Certificate trust alert ownership
When a signed applet is loaded, the certificate trust alert is presented as a modal dialog. If the window with the signed applet was in the background, the dialog was shown but no indication was made to associate the alert and its applet.
The applet's window is brought to the foreground before presenting the certificate trust dialog. Also, the alert's title is set to the URL of the page hosting the applet.
PKCS#11 support missing
J2SE 5.0 supports native PKCS#11-based smartcard libraries. The required Jar and native library were not included with previous releases of J2SE 5.0 for Mac OS X.
J2SE 5.0 Release 4 includes PKCS#11 support.
KeychainStore loses certificates
Multiple operations on KeychainStore
left it in an inconsistent state where certificates added by the developer may have been lost.
J2SE 5.0 release 4 includes a more robust implementation of KeychainStore
.
Certificates for SSL authentication
Previous versions of J2SE 5.0 on Mac OS X didn't look in Keychain for certificates or keys for sites that used SSL authentication.
In J2SE 5.0 Release 4, the KeychainStore
implementation is used to find certificates and keys requested by a server for SSL authentication. You can also continue to use a Java keystore (found at ~/Library/Caches/Java/security/trusted.clientcerts
), but Keychain is the preferred location to store certificates and keys.
JPasswordField with Input methods
Input using Input methods while a JPasswordField
had focus would send entered characters to the previously focused component.
Text entered into a JPasswordField
properly dispatches each key-press into the JPasswordField
, regardless of input method. Also, AWT correctly respects the use of enableInputMethods(false)
on a Component.
AWT integration within SWT applications
SWT applications were unable to host AWT or Swing windows.
J2SE 5.0 allows SWT applications to host AWT and Swing windows. Java Web Start applications and Applets are unsupported.
This fix is provided by using the Compatibility Mode feature of
and is subject to many of its limitations. Also, you cannot embed AWT and Swing components within SWT windows. Finally, there are known issues with modal dialogs. To reliably show dialogs, use CocoaComponent
SwingUtilities.invokeLater
.
Type 1 fonts not loaded
Type 1 font files (pfa and pfb) were not loaded by FontManager
.
The Sun 2D renderer, as discussed in “Sun 2D Renderer support,” supports Postscript Type 1 fonts.
Using the Quartz renderer allows you access the character to glyph mappings and some measurement data, but attempting to draw with a Type 1 font results in unexpected glyphs drawn in another font.
Custom font paths ignored
Paths specified using the sun.java2d.fontpath
runtime option were not scanned for additional fonts to add to a Java application's font list.
Fonts in directories specified using the sun.java2d.fontpath
runtime option are available.
Text in Metal-themed JTextAreas
When selecting text from the end of a line forward, the characters in the text moved and "shimmered" as the selection size changed.
The measurements for aliased text now align to the bounds of the displayed characters.
Font.canDisplay returns true
Font.canDisplay
always returned true, even if the Font
didn't have the requested glyph and Mac OS X character substitution couldn't find an appropriate substitute.
Font.canDisplay
accurately returns whether or not a glyph can be displayed using a particular font. Note that there is no guarantee that the glyph comes from the requested font, only that a character can be displayed.
AWT controls use incorrect font
The order of font loading affected the font displayed on AWT controls, resulting in controls using Lucida Sans instead of Lucida Grande under some circumstances.
All AWT controls use Lucida Grande.
GlyphVector and AffineTransforms
Moving an individual glyph in a GlyphVector
using the translation component of an AffineTransform
didn't result in a translated glyph when the outline of the glyph was requested.
Translation components of AffineTransforms
are applied to text drawn with GlyphVector.getOutline
, Graphics.drawGlyphVector
, and measurements of the GlyphVector
.
Font style in name
Asking for an italic variant of a font by appending -Italic to it's name didn't provide an italic version.
Italic and bold italic variants are now returned by appending a space or a dash and the requested style.
Fractional font sizes
When drawing with a fractional size font using Font.deriveFont
, measurements using the font would reflect the fractional size, however the actual drawing would only draw at the nearest integer size.
This problem has been fixed for all text drawing operations, such as Graphics.drawString
, Graphics.drawGlyphVector
, etc.
Incorrect code generation for arraylength bytecode
Code generated for the arraylength
bytecode caused an IndexOutOfBoundsException
to be thrown when using various Zip
APIs.
The correct native code is generated.
Splash icons used as Dock icon
If the first icon
element in an information
descriptor was of type splash
, that element was used as the application icon, even if an icon of the correct type (default
or none) was also listed.
The first icon with no type or of type default
is used as the application icon.
JNLP settings not saved
If a JNLP file specified a custom memory setting or a property that would normally be set from the command line, the setting was not copied into the Java
dictionary of the Info.plist
when a desktop application was created.
When creating a desktop application, custom memory settings, safe VM options, and safe properties from the JNLP file are copied into the application's Info.plist
.
Java Web Start man page
A number of the paths referred to in the Java Web Start man page were incorrect.
The Java Web Start man page has been updated.
Table 1-1 lists numerous issues present in previous versions of Java for Mac OS X that are resolved in J2SE 5.0 Release 4.
Radar # | Description |
---|---|
4334236 | Printing from an applet caused an exception |
4385058 | Java plug-in exception caused hang in Web Kit |
4314206 | Custom Nib files that caused exceptions left unloaded |
3994051 | Menu bar menus didn't flash when activated by keyboard shortcuts |
3196013 | Overlapping Containers' clipping not maintained |
4336070 | QuickTime for Java used |
4357922 | Corrupted graphics after a live resize |
4364454 |
|
4367748 | Keyboard focus lost if focused component was hidden |
4432247 | Modal dialogs not always on top of other windows |
4434041 |
|
3589153 | Focus ring not properly adjusted when AWT components were resized or moved |
4306310 | Shift-delete didn't delete characters in a |
4388549 | Flashing when live-resizing |
4372370 | Passing in |
4383545 | VM exception handler crash when converting a fault into a Java exception |
4418700 | Prebinding warning always shown |
4329506 | Unable to move cursor within a text field before hitting enter when using Input methods |
4357153 | Java Developer package removed previously installed Javadoc's |
4208349 |
|
4408322 |
|
4350107 |
|
4336058 | Modal dialogs disappear in applications that use JOGL |
4307013 | Keyboard focus lost when switching between AWT and Swing components |
4421110 | False error message when using a self-signed certificate |
4365514 | Eclipse-based applications that don't use SWT wouldn't launch |
4451025 | AWT renamed threads it doesn't own |
3997910 | Transparency not respected when a GIF or PNG image used as an application icon |
4263130 | Messages to |
4345426 | Safe properties in a Java Web Start application terminated the application with an |
4450344 | Calling |
4114007 |
|
4191032 | Help tags assigned to a |
© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-05-23)