Programmatically setting the dock:name Java Mac OS X JVM property

雨燕双飞 提交于 2019-12-17 16:28:15

问题


Is there a programatic alternative to setting the dock:name Java Mac OS X property by doing

java -Xdock:name="My App Name" -jar myapp.jar

, or is this the only way to set the dock:name property?


回答1:


It's been a while, but I believe you need to do the following (this is assuming you're using Swing):

  1. Put your main() method in a separate class from the JFrame.
  2. Before creating the JFrame, set the "com.apple.mrj.application.apple.menu.about.name" system property.

For example:

public class Launcher {
  public static void main(String[] args) {
    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Hello World!");
    JFrame jframe = new MyJFrame();
    jframe.setVisible(true);
  }
}



回答2:


The Apple extensions are documented here: http://developer.apple.com/mac/library/documentation/Java/Reference/1.5.0/appledoc/api/overview-summary.html

I looked at com.apple.eawt.Application, which gives you access to the icon and menus... but not title, unfortunately.

I am guessing the prescribed approach is to roll out your own App Bundle, as detailed here: http://developer.apple.com/Mac/library/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html



来源:https://stackoverflow.com/questions/2553941/programmatically-setting-the-dockname-java-mac-os-x-jvm-property

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!