代码之家  ›  专栏  ›  技术社区  ›  Kaarel

使用Java/Swing应用程序的Mac OS X服务菜单

  •  3
  • Kaarel  · 技术社区  · 16 年前

    我想让我的Java/Swing应用程序与Mac OS X上可用的服务菜单兼容,例如,用户可以在JTextArea中选择一些文本,并将其转换成语音。 服务->语音->开始讲话文本 . 有没有一个简单的方法来实现这一点? (应用程序仍应能够在Mac OS X以外的平台上运行。)

    4 回复  |  直到 12 年前
        1
  •  3
  •   kasperjj    16 年前

    看看苹果的 OSXAdapter package (链接需要免费的苹果开发者登录)用于Java开发。包中包含的示例向您展示了如何以一种只有当您的应用程序在OSX下运行时才被激活的方式很好地集成到OSX应用程序菜单中。

        2
  •  1
  •   mipadi    16 年前

    我倾向于说不。如果我记得正确的话,服务只适用于COCOA应用程序,Java应用程序不是可可应用程序。

        3
  •  0
  •   Kaarel    16 年前

    这似乎可以在MacOSXLeopard上工作,而不会改变原始应用程序。所以我对这个答案失去了兴趣(关于如何让它在老虎身上起作用)。不过,谢谢你的贡献。

        4
  •  0
  •   Dave    12 年前

    如果所需的只是文本转换为语音的最终结果,则可以尝试调用“ “使用processbuilder的命令,如下所示:

    String stuffYouWantToSay = "StackOverflow Rocks!";
    Process p = null;
    try {
        ProcessBuilder pb = new ProcessBuilder("/usr/bin/say", stuffYouWantToSay);
        p = pb.start();
    } catch (Exception e) {
        // handle the error
        return;
    }
    

    这不会将其添加到服务菜单,但您仍然可以获得相同的效果。

    一定要查看“说”的手册页,因为你可以改变声音。