When building Swing applications customized for OS X, note that for more complex applications with multiple JFrames, a JFrame containing a JMenuBar must be initialized first. If a JFrame with no JMenuBar is created first, neither the custom application name nor the menus will work correctly.
The application name is set using:
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "My Application");
OS X style menus are set using:
System.setProperty("apple.laf.useScreenMenuBar", "true");
These can also be set using plist files, but I find doing it in code easier as other customizations (like changing the menus to an OS X style layout) can be done at the same time.