Just looking through some old code for a Java/Swing editor I started writing years ago, I saw this line of code that I added specifically for the Mac OS X platform:
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "WikiTeX");
For a Java application running on Mac OS X (a "Mac Java" application), this sets the name of the main menu on the Mac menubar to "WikiTeX", which happens to be the current name of my editor. As I mentioned in an earlier posting, you also need this line of code to put the Java JMenuBar on the Mac OS X menubar:
System.setProperty("apple.laf.useScreenMenuBar", "true");
What the heck, while I'm here I'll cover it all ... if you want the look and feel to be as Mac-like as possible you also need this line of code:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
So, in total, the Mac Java application I'm developing has these three lines of initialization code:
System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "WikiTeX"); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
I'll continue to update this post as I find more tweaks to make Java/Swing applications look and feel more like native Mac applications.
FWIW, there's more to do to make a Swing application look and feel like a native Mac OS X application. At the very least you need to handle the "Preferences" and "Quit" menu items properly through callbacks. And in my case, since I use shortcut keys extensively, I need to change all my shortcut keystrokes from using the [Ctrl] to to use the [Apple] key. And then there's also the part about making a Java application launch like a native Mac application.
I'll write more on each of these items as soon as I learn the best ways to deal with them.
Related posts
Mac Java followup
This brief tutorial has been very popular, so I created an even more thorough tutorial on How to make your Java Swing application look and feel like a native Mac application.