Таким образом, текстовые компоненты Swing предоставляют возможность использовать глобальные сочетания клавиш. JTextComponent.getKeyMap(JTextComponent.DEFAULT_KEYMAP) предоставляет способ изменить глобальную раскладку клавиш по умолчанию, унаследованную всеми текстовыми компонентами Swing. Но есть ли у других компонентов возможность глобально устанавливать привязки клавиш?
Причина, по которой я спрашиваю об этом, заключается в том, что на работе у нас есть устаревшее приложение Swing, над которым мы работаем, и есть поведение, довольно стандартное для других приложений, которого у нас просто нет в нем. Например, такие вещи, как нажатие клавиши ESC, чтобы закрыть диалоговое окно. Хотя я мог бы просмотреть всю кодовую базу, найти каждый экземпляр диалогового окна и добавить это поведение, было бы неплохо иметь возможность глобально добавлять привязки клавиш к компонентам.
В идеале это глобальное поведение можно было бы применять к определенным классам (например, некоторые к JDialog, некоторые к JFrame и т. д.), но если оно должно быть на 100% глобальным, это нормально.
Есть идеи?