JScrollBar, удалить keyListener? - PullRequest
1 голос
/ 04 мая 2011

Привет всем вам, просто быстрый вопрос о том, что я нигде не нашел.Я добавляю область прокрутки в JPanel с 2 JScrollBars.Одна вертикальная и одна горизонтальная.Все отлично работает, просто я не хочу, чтобы прокрутки прокручивались с помощью клавиш со стрелками.Как мне этого добиться?

Я проверял корректирующие прослушиватели, но на самом деле не нашел для меня ничего ценного.Спасибо за любую помощь!

1 Ответ

1 голос
/ 04 мая 2011

Вы должны настроить привязку клавиш в inputMap панели scrollPane и указать навигационные клавиши в нирвану, как:

    InputMap inputMap = scrollPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    inputMap.put(KeyStroke.getKeyStroke("RIGHT"), "do-nothing");
    // same for all navigation keys you want to disable
    ...

чтобы узнать, какие нажатия клавиш зарегистрированы, загляните в BasicLookFeel - раздел в getDefaults, относящийся к "ScrollPane"

Осторожно: это очень необычно, ваш пользователь может быть раздражен!

...