2009-09-15 4 views
3

약간의 문제가 있습니다. 최근에 Mac으로 이전하면서, 나는 머리카락을 당기고 이것에 대해 웹을 검색해 왔지만, 내가 정확히 찾고 있었던 것을 발견하지 못했습니다. 시스템 메뉴에서 응용 프로그램 이름을 설정하고 싶습니다. 현재는 작동하지 않습니다. 내 응용 프로그램 이름 대신 기본 클래스 이름이 표시됩니다. 어떤 속성을 수정해야합니까?Java OSX 시스템 메뉴 이름이 Java입니까?

올바른 apple.laf 속성을 사용하여 시스템 메뉴 모음에 메뉴를 성공적으로 배치했지만 이름에 필요한 것을 찾지 못했습니다.

내 검색을 통해 Info.plist 문서로 안내 할 수 있습니다.이 문서에는 전혀 지식이 없습니다. 나는 응용 프로그램의 표시 이름 만 변경하는 간단한 것을 만들려고했지만 어떤 이유로 그것이 작동하지 않았습니다. 도움?

답변

2

함께 제공되는 Jar Bundler을 사용해보세요.이 모든 것들이 처리됩니다. 특정 기능의 작동 방식을 확인하려면 Jar Bundler의 출력을 검사 할 수 있습니다.

  1. 당신이 전화 : 자바 -Xdock : 이름 = myAppName
  2. 런타임 에서 전에 GUI의 interaccion :

    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "myAppName!"); 
    
3

sun's documentation에 따르면 을 메뉴 표시 줄의 제목으로 표시하려는 것으로 바꾸고 -Xdock:name="{AppName}" 인 java 명령의 명령 줄 매개 변수로 가상 컴퓨터에 이름을 전달합니다.

편집 : 실제 Java 코드 자체에서는이 코드를 설정할 수 있다고 생각지 않지만 Chuck은 Apple이 필요한 Info.plist가있는 항아리를 만들도록 설계된 Jar Bundler 프로그램이 있다고 말했습니다. user guide에 따르면 속성 창에서 번들 이름 속성을 설정하여 원하는 것을 가져와야합니다.

+0

코드 내에서이를 달성하는 방법을 찾고 있는데, 그런 종류의 것들로 주변을 들썩 거리지는 않을 것입니다. –

0

이 두 가지 방법입니다 그 (것)들이 만기이기 때문에, 제안 된 Java (시작 셸 스크립트의 -D와 함께) 속성 중 어느 것이 나에게 적합하지 않았다. AWT & 스윙 GUI 용. 맥 특유의 -Xdock:* 옵션조차도 작동하지 않았다. 이 라이브러리를 사용하여 메뉴 자체의 대담한 이름을 설정할 수 없습니다 이제

public void initialize() { 
    if ("Mac OS X".equals(System.getProperty("os.name"))) { 
     final MenuToolkit tk = MenuToolkit.toolkit(); 
     final Menu defaultMacApplicationMenu = tk.createDefaultApplicationMenu("My App"); 
     tk.setApplicationMenu(defaultMacApplicationMenu); 
    } 
    } 

: 작업 무슨 짓을

메뉴 내 자바 FX 컨트롤러에서이 프로젝트 https://github.com/codecentric/NSMenuFX

을 사용하고 난 다음 코드를 추가 하지만 응용 프로그램 번들의 Info.plist에서 해당 설정 인 CFBundleDisplayName을 제어 할 수 있습니다.

0

+0

마지막 문제는 일반적으로 javapackager에 의해 자동으로 처리되어야합니다. – mipa

관련 문제