1

大家好,只是一个关于我在任何地方都没有找到的快速问题。我在 JPanel 中添加了一个带有 2 个 JScrollBars 的滚动窗格。一竖一横。一切正常,只是我不希望 ScrollBars 使用箭头键滚动。我如何实现这一目标?

我一直在检查调整侦听器,但真的没有发现任何对我有价值的东西。谢谢你的帮助!

4

1 回答 1

1

您必须调整 scrollPane 的 inputMap 中的键绑定并将导航键指向 nirwana,例如:

    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
    ...

要查找注册了哪些 keyStroke,请查看 BasicLookFeel - getDefaults 中与“ScrollPane”相关的部分

当心:这是非常不寻常的,你的用户可能会生气!

于 2011-05-04T11:55:54.513 回答