Как узнать о внутренностях обработки нажатий клавиш Swing - PullRequest
2 голосов
/ 29 июня 2011

Свинг может быть расстраивающим зверем. Особенно, если вы пытаетесь разработать приложение с ним, которое идет "вразрез" с предположениями, которые дизайнеры Swing использовали при разработке Swing. У нас есть требования, которые назначают функциональность клавишам, которые выходят за рамки обычного. Вчера проблема заключалась в том, что JComboBox и JScrollPane рассматривали такие ключи, как PageUp и PageDown «навигационные клавиши», и захватывали их, несмотря на наши попытки переназначить их для других целей, когда такие компоненты были в фокусе. Вы можете сказать, что это плохой дизайн, но это наши требования. Есть даже специальные клавиатуры, на которых есть метки, обозначающие эти функциональные переназначения, и мы должны их встретить. Такова жизнь.

Сегодня всплыла еще одна проблема: JTextPane, кажется, захватывает клавишу F6, когда она находится в фокусе. Когда другие компоненты имеют фокус, не проблема. WTF?

Итак, мой вопрос заключается в следующем: есть ли документация о том, какие нажатия клавиш каждый тип компонента Swing захватывает и помещает за пределы обычной системы InputMap/ActionMap, которой должны следовать программисты прикладного уровня? Я знаю, что это зависит далее от LookAndFeel, и что то, что происходит в Motif, может отличаться от того, что происходит в Metal и т. Д. Тем не менее, даже если углубиться до этого уровня, документируется ли этот материал где-нибудь? Я хотел бы знать это, чтобы я мог знать в начале, где мои проблемы будут лежать, вместо того, чтобы изучать эту проблему за один раз. Если я знаю, где проблемы, я знаю, как их обойти. Но у меня есть исходный код, документы по Java, и я просто не знаю, где искать.

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

Существует ли какая-либо документация о том, какие нажатия клавиш каждый тип компонента Swing захватывает и помещает вне обычной системы InputMap / ActionMap, которой программисты на уровне приложений должны следовать?

Нет документации, котораяЯ в курсе.

Возможно Список клавиш Список поможет вам.

1 голос
/ 29 июня 2011

Статья Панель клавиатуры содержит ссылки на соответствующие учебные пособия и показывает пример.

...