문제

약간의 문제가 있습니다.최근 Mac으로 마이그레이션한 후 이에 대해 열심히 웹을 검색했지만 정확히 내가 찾고 있던 내용을 찾지 못했습니다.현재 작동하지 않는 시스템 메뉴에서 애플리케이션 이름을 설정하고 싶습니다(앱 이름 대신 메인 클래스 이름이 표시됨).어떤 속성을 수정해야 합니까?

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

검색을 해보니 제가 전혀 모르는 Info.plist 문서가 나왔습니다.앱의 표시 이름만 변경하는 간단한 것을 만들려고 했지만 어떤 이유로 작동하지 않았습니다.돕다?

도움이 되었습니까?

해결책

포함된 것을 사용해 보세요 항아리 번들러, 이 모든 작업을 처리해 드립니다.특정 기능이 어떻게 작동하는지 확인하려면 Jar Bundler의 출력을 검사하면 됩니다.

다른 팁

에 따르면 태양의 문서 Java 명령에 따라 명령 줄 매개 변수로 이름을 가상 머신으로 전달합니다. -Xdock:name="{AppName}" 교체 {AppName} 메뉴 표시 줄에서 제목으로 표시하려는 것.

편집 : 나는 당신이 실제 Java 코드 자체로 이것을 설정할 수 있다고 생각하지 않지만 Chuck은 Apple에 Apple에 Jar Bundler가 정보를 제공하는 info.plist가있는 Jar Bundler 프로그램이 있습니다. 에 따르면 사용자 설명서 그것을 위해, 당신은 당신이 원하는 것을 얻으려면 속성 창에서 번들 이름 속성을 설정해야합니다.

두 가지 방법이 있습니다.

  1. 전화시 : java -xdock : name = myAppName
  2. 런타임에 ~ 전에 모든 GUI interaccion :

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

제안 된 Java (런치 쉘 스크립트에 -D 포함) 속성을 설정하는 것은 AWT & Swing GUI 만 사용하기 때문에 나에게는 효과가 없었습니다. MAC에도 불구하고 -Xdock:* 옵션이 작동하지 않았습니다.

작업은이 프로젝트를 사용하는 것입니다 https://github.com/codecentric/nsmenufx

메뉴의 Javafx 컨트롤러에서 다음 스 니펫을 추가했습니다.

  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);
    }
  }

이제 메뉴 자체의 대담한 이름은이 라이브러리를 사용하여 설정할 수 없지만 해당 설정을 제어 할 수 있습니다. CFBundleDisplayName 에서 Info.plist 응용 프로그램 번들의.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top