2009-10-14 2 views
0

Мое приложение является кросс-платформенным, поэтому используется SWT. Я могу легко следить за нажатием клавиши Mac Command/Flower при запуске приложения с помощью SWT (у них есть SWT.COMMAND в качестве нажатия клавиши).Как проверить ключ COMMAND, удерживаемый при запуске Java/SWT при запуске в Mac OS X

Я хочу знать, как видеть, нажата ли клавиша команды и удерживается при открытии приложения. Я нашел несколько примеров здесь, но это были для блокировки шапки, мне нужен командный ключ. Любые предложения в Java или SWT-коде? Благодарю.

ответ

1

Невозможно обнаружить это через Java или SWT. Моя работа заключалась в том, чтобы открыть всплывающий экран, когда приложение загружается. Таким образом, я могу заставить пользователя нажимать любую клавишу, чтобы продолжить, и когда они это сделают, я забираю ключи COMMAND и SHIFT. Если они нажаты, они не могут действовать.

0

Я не знаю точных констант для ключа командной но я могу помочь вам с дизайном:

вы хотите увидеть, если клавиша нажата до выполнения любого кода приложения выполняется (или во время). Я бы рассмотреть возможность использования одного из двух следующих способов:

1) имеют ваш главный метод вызова метода, который видит, если клавиша нажата (или встроить прямо в него код, который проверяет)

или в второй, который, на мой взгляд, лучше: 2) при запуске создайте отдельный поток, который проверяет (в замкнутом цикле сна), который проверяет, нажата ли клавиша. Если это так, используйте некоторую форму взаимодействия между процессами (общая структура данных, уведомление об объекте и т. Д.), Чтобы сообщить основному потоку, что клавиша была нажата, и вызывать код, который вы хотите, когда нажата клавиша.

Надеюсь, это помогло.