如何在 ScrollBar (JavaFX) 中禁用水平滚动?
How to disable horizontal scrolling in ScrollBar (JavaFX)?
我使用以下代码禁用了水平滚动条的显示:
scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
它不再可见,但可以通过鼠标滚轮使用。我怎样才能防止这种情况发生?
有一个带有垂直 ScrollBar 的 ScrollPane。但是我可以向右点击鼠标滚轮,内容是水平滚动的。
谢谢。
编辑:使用 而不是这个 hacky
你可以消耗横向 ScrollEvent
in an event filter:
scrollPane.addEventFilter(ScrollEvent.SCROLL,new EventHandler<ScrollEvent>() {
@Override
public void handle(ScrollEvent event) {
if (event.getDeltaX() != 0) {
event.consume();
}
}
});
scrollPane.setFitToWidth(true);
我认为这是正确的方法:
sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
我使用以下代码禁用了水平滚动条的显示:
scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
它不再可见,但可以通过鼠标滚轮使用。我怎样才能防止这种情况发生?
有一个带有垂直 ScrollBar 的 ScrollPane。但是我可以向右点击鼠标滚轮,内容是水平滚动的。
谢谢。
编辑:使用
你可以消耗横向 ScrollEvent
in an event filter:
scrollPane.addEventFilter(ScrollEvent.SCROLL,new EventHandler<ScrollEvent>() {
@Override
public void handle(ScrollEvent event) {
if (event.getDeltaX() != 0) {
event.consume();
}
}
});
scrollPane.setFitToWidth(true);
我认为这是正确的方法:
sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);