Использование Mac OS X Services-menu из приложения Java / Swing - PullRequest
3 голосов
/ 06 ноября 2008

Я хотел бы сделать свое приложение Java / Swing совместимым с меню служб, доступным в Mac OS X. Например, чтобы пользователь мог выбрать некоторый текст в JTextArea и преобразовать его в речь Services > Речь -> Начать произносить текст . Есть ли простой способ добиться этого? (Приложение должно по-прежнему работать на платформах, отличных от Mac OS X.)

Ответы [ 4 ]

3 голосов
/ 06 ноября 2008

Взгляните на пакет OSXAdapter от Apple (для ссылки требуется бесплатный вход для разработчика Apple) для разработки на Java. Примеры, включенные в пакет, показывают, как правильно интегрироваться в меню приложений OS X таким образом, который активируется только тогда, когда ваше приложение работает под OS X.

1 голос
/ 06 ноября 2008

Я склонен сказать нет. Если я правильно помню, службы доступны только приложениям Какао, а приложения Java не являются приложениями Какао.

0 голосов
/ 26 июля 2012

Если все, что вам нужно, это конечный результат преобразования текста в речь, вы можете попробовать вызвать команду " say " с помощью 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;
}

Это не добавит его в меню служб, но вы все равно сможете получить тот же эффект.

Обязательно проверьте страницу справочника на "скажем", так как вы можете изменить голос.

0 голосов
/ 26 декабря 2008

Это похоже на Mac OS X Leopard, без изменений в исходном приложении. Поэтому я потерял интерес к ответу (как заставить его работать на Tiger). Спасибо за ваш вклад, однако.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...