Ooo nice - it must be Apple Release Week - a new Java SE6 preview release - which can now be set as the primary VM.
New features in this preview:
- AppleScript is a supported javax.script scripting language
- New API in com.apple.eawt.Application:
- Get and set the Application Dock icon
- Set a badge label on the Dock icon
- Set the Dock menu
- Open the native system help viewer if your application has a help bundle
- New API in com.apple.eio.FileManager:
- getPathToApplicationBundle() obtains the path to the currently running Java application package.
- GraphicsConfiguration.getNormalizingTransform() now returns a transform value that represents the physical size of the attached monitor.
- The system focus ring color can now be obtained using: UIManager.getColor(“Focus.color”);
- Aqua-style title-less group borders can now be obtained using: UIManager.getBorder(“InsetBorder.aquaVariant”);
- Java SE 6 can now be set as the primary Java VM, and selected for use with applets. Note that you must be using a web browser using a 64-bit Intel version of WebKit for applets to work. Java SE 5 will be used if the browser does not support the selected version of Java.
- Java application bundles that want to use Java 6 are no longer required to use the JVMArchs key. Specifying 1.6* or 1.6+ as the JVMVersion is sufficient for selecting Java 6 to be used in your application.
- The javax.smartcardio API is present and works as expected on other platforms.
- Java DTrace probes are supported.
- A refreshed implementation of the Aqua Look-and-Feel, designed to work with a User Display Scale Factor greater than 1.0. This is the same Look and Feel provided in J2SE 5.0 for Mac OS X 10.5 Leopard. Please see Tech note 2196: New Control Styles available within J2SE 5.0 on Mac OS X 10.5 for more information about new client properties available in this implementation of the Aqua Look and Feel. Any use of the legacy Aqua Look-and-Feel classes is deprecated.
- Additional per-window client properties. Please see New Window Client Properties.
- Splash screen support for bundled applications. The Info.plist’s Java dictionary has a new SplashFile key with a string value of a path to the image or Jar containing the splash screen image. The $APP_PACKAGE and $JAVAROOT expansion macros can be used.
- The default image during a drag is now scaled to a maximum of 128 pixels in any direction. This value can be set via the apple.awt.dnd.defaultDragImageSize System Property. The value should be greater than 0.
One really nice thing to see here is the implementation of Apple Script as a javax.scripting language:
import javax.script.*;
public class SayHello {
public static void main(String[] args) throws Throwable {
String script = "say \"Hello from Java\"";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("AppleScript");
engine.eval(script);
}
}
Using the simple setJDK script I now have SE6 as my default VM from the command line, however - changing the "Java Application Runtime Settings" to use 6 by default seems to crash IDEA, however Moneydance and other applications (so far) seem to run fine.