簡體   English   中英

Java / OS X Lion:設置應用程序名稱停止與JDK1.7一起使用

[英]Java/OS X Lion: Setting application name stopped working with JDK1.7

迄今為止,我使用以下代碼在Apple MacBook上設置應用程序名稱(在頂部的“系統”菜單欄中)。 (實際上,我想我是從stackoverflow復制的。)

基本上,有一個單獨的AppLauncher類,該類使用System.setProperty()設置應用程序名稱,然后為應用程序本身創建新的Runnable。

工作得很好。

但是,由於我下載並開始使用JDK 1.7,因此該解決方案停止了工作-就像在我找到該解決方案之前一樣,我在菜單中得到的是Class Name而不是App Name。 我嘗試谷歌搜索,但無濟於事。

這是以前在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中可能會起作用,但是我還沒有嘗試過。

看來使用-D設置屬性可以解決該問題。

java -Dapple.laf.useScreenMenuBar=true …

此相關答案中提到了其他方法。

我不能得到的Info.plist或-D接近工作(我正在分發JRuby應用程序,可能有一些用它做),但對我來說傳遞-Xdock:name參數作為中提到的這個 “在菜單欄上進行更多修改”部分下的文章似乎效果很好。

示例: -Xdock:name="My Application"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM