2
我有一个Tab
与一些内容:ScrollBar
和其他。JavaFX TabPane禁用制表符切换键
的ScrollBar
有按键事件处理程序:左和右。
但是,如果我按这些按钮,Tabs
切换,因为TabPane
也有一个密钥处理程序。
如何禁用TabPane
的默认事件处理程序或更改切换策略?
我有一个Tab
与一些内容:ScrollBar
和其他。JavaFX TabPane禁用制表符切换键
的ScrollBar
有按键事件处理程序:左和右。
但是,如果我按这些按钮,Tabs
切换,因为TabPane
也有一个密钥处理程序。
如何禁用TabPane
的默认事件处理程序或更改切换策略?
问题在于默认情况下ScrollBar
不是focus traversable,并且仅针对焦点Node
s才会触发关键事件。
您可以设置ScrollBar
焦点遍历:
sb.setFocusTraversable(true);
sb.setOnKeyPressed(e -> {
if (e.getCode().equals(KeyCode.RIGHT))
sb.setValue(sb.getValue()+0.01);
else if(e.getCode().equals(KeyCode.LEFT))
sb.setValue(sb.getValue()-0.01);
});
在这种情况下,每当ScrollBar
集中,关键事件的处理。