I had access to a Mac today and wanted to test how my Evolutionary Algorithm Workbench (EvA2) is performing. One thing I immediately noticed is that the application did not use the native Look&Feel for Mac.

While switching to the native Look&Feel is relatively easy with UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); it takes a little more to activate native menus.

try {
    System.setProperty("apple.laf.useScreenMenuBar", "true");
    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "EvA2");
} catch(ClassNotFoundException e) {
    System.out.println("ClassNotFoundException: " + e.getMessage());

} catch(InstantiationException e) {
    System.out.println("InstantiationException: " + e.getMessage());
} catch(IllegalAccessException e) {
    System.out.println("IllegalAccessException: " + e.getMessage());
} catch(UnsupportedLookAndFeelException e) {
    System.out.println("UnsupportedLookAndFeelException: " + e.getMessage());

Now with all things in place here is the result:

EvA2 with native L&F

Note that even JInternalFrame is using the native L&F.