Java OS X Lion Set 应用程序名称不起作用

标签 java macos swing

我正在尝试更改显示在 OS X 菜单栏中的应用程序名称,但我无法成功。我已尝试使用以下代码将设置作为主要方法中的第一条语句:

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

但它不起作用,在菜单栏中显示main:

ScreenShot

我使用的是 Mac OS X Lion (10.7.2)。

有没有办法在菜单栏中更改应用程序名称?如果有,怎么做?

最佳答案

使用JDK8,可以设置apple.awt.application.name属性影响Application菜单名。

但是,Martijn Courteaux 的警告仍然适用:您必须在加载任何 AWT 类之前执行此操作。如果 AWT 类位于 JFrame 的子类中,那么 AWT 类将在您的 main() 方法运行之前加载。

引用:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/5c1d06cd7d7b/src/macosx/native/sun/osxapp/NSApplicationAWT.m#l157

关于Java OS X Lion Set 应用程序名称不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8918826/

相关文章:

git - 在 macOS 查看 homebrew 上安装后通过 SSH 连接到 Bitbucket repo

java - SwingWorker 完成后挂起 : Is it bad practise to start and run a thread pool from a SwingWorker?

java - 如何输出冒泡排序中执行的传递次数直到数组排序?

java - 我想在我的申请中提供一些 pdf 文件

macos - NSApplication 收到 'miniaturizeAll' 调用时的通知

macos - Docker如何清理图像的部分失败下载?

java - Java 中的函数对象

java - 运行 mvn sonar :sonar 时出错

java - 更新 JComponent 以反射(reflect)对象更改

java - 用于在 swing 应用程序中滚动 1 GB rtf 文档的 API