8

これまで、次のコードを使用して、Apple MacBookのアプリケーション名(上部の[システム]メニューバー)を設定していました。(実際、私はこれをstackoverflowからコピーしたと思います。)

基本的に、アプリ自体の新しいRunnableを作成する前に、System.setProperty()を使用してアプリケーション名を設定する個別のAppLauncherクラスを用意します。

うまくいきました。

ただし、JDK 1.7をダウンロードして使用を開始したため、ソリューションが機能しなくなりました。ソリューションを見つける前と同じように、メニューにアプリ名ではなくクラス名が表示されます。私はそれをグーグルで検索しようとしましたが、役に立ちませんでした。

これは、JDK 1.6で動作していた、関連する部分に縮小された廃止されたコードです。

public class AppLauncher {
public static void main(String[] args) {

    System.setProperty("apple.laf.useScreenMenuBar", "true");
    System.setProperty("com.apple.mrj.application.apple.menu.about.name",
                "My Application");
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            new MainWindow();
        }
    });
}
}

提案ありがとうございます!

ETA:java -Dapple.laf.useScreenMenuBar=trueを使用した呼び出しは引き続き機能します。プロパティをInfo.plistにPu8することは機能するかもしれませんが、私はまだ試していません。

4

2 に答える 2

2

を使用してプロパティを設定すると-D、問題が解決するようです。

java -Dapple.laf.useScreenMenuBar=true …

他のアプローチについては、この関連する回答に記載されています。

于 2012-05-30T20:53:30.847 に答える
1

Info.plist または -D アプローチを機能させることができませんでした (私は JRuby アプリの配布に取り組んでおり、それと関係がある可能性があります)-Xdock:name。「メニューバーをもっといじる」はうまくいったようです。

例:-Xdock:name="My Application"

于 2013-06-25T20:45:12.593 に答える