3

我希望能够在 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已经改变了?

我究竟做错了什么?

4

0 回答 0