大家好,只是一个关于我在任何地方都没有找到的快速问题。我在 JPanel 中添加了一个带有 2 个 JScrollBars 的滚动窗格。一竖一横。一切正常,只是我不希望 ScrollBars 使用箭头键滚动。我如何实现这一目标?
我一直在检查调整侦听器,但真的没有发现任何对我有价值的东西。谢谢你的帮助!
大家好,只是一个关于我在任何地方都没有找到的快速问题。我在 JPanel 中添加了一个带有 2 个 JScrollBars 的滚动窗格。一竖一横。一切正常,只是我不希望 ScrollBars 使用箭头键滚动。我如何实现这一目标?
我一直在检查调整侦听器,但真的没有发现任何对我有价值的东西。谢谢你的帮助!
您必须调整 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”相关的部分
当心:这是非常不寻常的,你的用户可能会生气!