Вопрос
Поэтому я немного сбит с толку привязками клавиш JSlider по умолчанию для вертикальных ползунков.
- Дом:идет вниз (почему не вверх?)
- Конец:идет вверх (почему не вниз?)
- PageUp/PageDown:направление хорошее, но увеличивается на некоторую величину K, которую я не могу контролировать
- клавиши со стрелками вверх/вниз:Направление хорошее, но увеличивается на 1, и у меня есть ползунок с высокой степенью детализации (от 0 до 65535), которым я хотел бы иметь немного более интуитивное управление.
Есть ли способ настроить это поведение?
Решение
Вы можете получить доступ к сочетаниям клавиш через getInputMap
и getActionMap
методы.Например, чтобы переключить привязку клавиш Home/End (настроить Home вверху, а End внизу):
InputMap im = yourSlider.getInputMap();
im.put(KeyStroke.getKeyStroke("HOME"), "maxScroll");
im.put(KeyStroke.getKeyStroke("END"), "minScroll");
Вот учебник по привязкам клавиш.
Другие советы
Для меню не существует простого способа.Но вы, вероятно, можете использовать действия для своей цели: http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html
Не связан с StackOverflow