我希望能够在 Mac 上设置我的 Java 应用程序的停靠点:名称。
我知道我可以通过 Java VM 的 -Xdock:name="Xyz" 选项来做到这一点,但我想直接在我的程序中做到这一点。
根据这个问题,可以通过设置“com.apple.mrj.application.apple.menu.about.name”属性来完成,但我根本无法让它工作。
考虑这个程序:
import javax.swing.*;
public class Abc extends JFrame {
public Abc() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 200);
setVisible(true);
}
public static void main(String[] args) {
try {
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Xyz");
System.setProperty("apple.laf.useScreenMenuBar", "true");
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
System.out.println("Exception: " + e.getMessage());
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Abc();
}
});
}
}
我原以为这会起作用,但事实并非如此。我使用的是 OS X 10.8.2 (Mountain Lion) 和 Java 1.7.0_09,它们都是非常新的版本。也许API已经改变了?
我究竟做错了什么?