Bet*_*med 8 java macos swing java-7 osx-lion
我到目前为止使用以下代码在Apple MacBook上设置应用程序名称(在"系统"菜单栏的顶部).(实际上,我认为我是从stackoverflow复制的.)
基本上,有一个单独的AppLauncher类,它在为应用程序本身创建一个新的Runnable之前使用System.setProperty()来设置应用程序名称.
工作得很好.
但是,由于我下载并开始使用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();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议!
ETA:使用java -Dapple.laf.useScreenMenuBar = true调用仍然有效.将属性设置为Info.plist可能会有效,但我还没有尝试过.
看来使用设置属性-D可以解决问题。
java -Dapple.laf.useScreenMenuBar=true \xe2\x80\xa6\nRun Code Online (Sandbox Code Playgroud)\n\n此相关答案中提到了其他方法。
\n| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |