使用Java / Swing应用程序中的Mac OS X Services菜单

时间:2008-11-05 21:40:49

标签: java macos swing

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

4 个答案:

答案 0 :(得分:3)

查看apple的OSXAdapter package(链接需要免费的Apple开发人员登录)以进行Java开发。包中包含的示例向您展示了如何以仅在应用程序在OS X下运行时激活的方式很好地集成到OS X应用程序菜单。

答案 1 :(得分:1)

我倾向于拒绝。如果我没记错的话,服务仅适用于Cocoa应用程序,Java应用程序不是Cocoa应用程序。

答案 2 :(得分:0)

这似乎适用于Mac OS X Leopard,原始应用程序没有任何变化。所以我对答案失去了兴趣(如何使它适用于Tiger)。谢谢你的贡献。

答案 3 :(得分:0)

如果您想要的只是文本转换为语音的最终结果,您可以尝试使用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;
}

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

请务必查看“说”的手册页,因为您可以更改语音。